#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
也是错误的,本质上相当于先进行了除法。
当一个算术表达式中同时有乘除运算时,先乘再除可以更好地保证精度,先除再乘可以更好地防止溢出。