我一直在尝试解决这个问题:
底部的多维数据集的体积为n ^ 3,上方的多维数据集将体积为(n-1)^ 3,依此类推,直到顶部有一个1 ^ 3。
您将获得建筑物的总体积m。被给予m可以您找到要构建的多维数据集数量n?
这是我的代码
import math
def find_nb(m):
nb = 1
nb_vol = 0
while True:
nb_vol += math.pow(nb, 3)
if (nb_vol == m):
return nb
elif (nb_vol > m):
return -1
nb += 1
现在,当我尝试求解find_nb(2521115597681328384)时,它实际上应返回56352,但返回-1。
nb_vol += math.pow(nb, 3)
to
nb_vol += nb ** 3
一切正常。 为什么?
我一直在尝试解决这个问题:底部的多维数据集的体积为n ^ 3,上方的多维数据集的体积为(n-1)^ 3,依此类推,直到顶部的多维数据集具有体积为1 ^ 3。 ...
[math.pow
always converts it’s arguments to float
s first,仅是近似值。