题解 | #计算机内存#

计算机内存

https://ac.nowcoder.com/acm/problem/22005

#include <bits/stdc++.h>
using namespace std;

// 我们可以看到题目描述的上方有一个空间限制 32M, 在计算机中一个整数占据 4 个字节的内存, 
// 1MB 等于 1024KB, 1KB 等于 1024B, 1B 就代表 1 字节, 那么请问 n MB 的内存可以使用多少个整数呢?

void solve()
{
    int n;
    cin >> n;
    cout << n * 1024 * 1024 / 4 << endl;
}

signed main()
{
    ios::sync_with_stdio(false);
    int t;
    // cin >> t;
    t = 1;
    while (t--)
        solve();
    return 0;
}

值得注意的是,本题要求输出整数,故应先算乘再算除,以保证整数性;例如 n / 4 * 1024 * 1024 在本题就是错误的。 除此之外,将 / 4 写成 * 0.25 也是错误的,本质上相当于先进行了除法。

当一个算术表达式中同时有乘除运算时,先乘再除可以更好地保证精度,先除再乘可以更好地防止溢出。

全部评论

相关推荐

08-01 15:00
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
嗨害嗨我来了:感谢我吧,上次我在食堂敲打了一个姓雷的,他说马上给大学生们准备hc
不卡学历的大厂有哪些?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-01 16:13
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务