计算给定范围内的完美正方形,完美立方体等的数量?

时间:2016-12-06 09:22:27

标签: python algorithm math

我知道我们可以使用公式math.floor(b**(1.0/i))-math.ceil(a**(1.0/i))+1 计算给定范围内的平方数,当我想找到完美立方体的数量等时它是否成立?

更新:对于遇到此问题的所有人,在平方根,立方根等之后,floor和ceil函数不能正常工作。

1 个答案:

答案 0 :(得分:1)

浮点数计算are not exact

64 ** 1/3可能具有~3.99999975之类的值,因此floor给出3.或4.000000016,因此ceil给出5(我没有检查实际值)。您必须考虑数字错误。

对于此任务,您可以计算root(使用**或Math.Pow),并检查与floor-ceil-ed值和ceil-ed值的差异。如果差异非常小,请检查此根是否正确 - 使用乘法的整数。