本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 32 位 二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问256MB 的空间可以存储多少个 32 位二进制整数?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M
import os
import sys

# 请在此输入您的代码
m = 256*1024*1024 // 1MB = 1024KB 1KB = 1024B
print(m//4)

点击并拖拽以移动

解题思路:

首先要知道32位二进制是4个字节(Byte);而1MB = 1024 KB,1KB = 1024B需要知道它们之间的进率;回到本题,就是需要先将其256MB转换为B,再除以4算出结果;又因为本题要求的是二进制整数,那么就需要将结果化为整数并且是向下取整,以便于有足够的空间。

而python中除法向下取整向上取整有不同的语法:

普通除法:

a = 5

b = 2

print(a / b)

结果为 :

2.5

向下取整:

a = 5

b = 2

print(a // b)

结果为:

2

向上取整:

import math

a = 5

b = 2

print(math.ceil(a / b))

结果为:

3