3
我的一个简单的问题是创建一个函数,确定是否可以将某个给定的n编号为a^n
,即我需要检查N^(1/n)
是否是整体数。不知怎的,这个功能产生错误的结果:Python:函数来确定数字是正方形,立方体等
def is_power(N, n):
r = float(N) ** (1./float(n))
return r.is_integer()
对于n=2
它的工作原理。
对于n=3
和N = 1,8,27,函数产生True,这是正确的。但从那时起,假,例如对于4*4*4=64
或5*5*5=125
。我如何创建一个可以找到正方形/立方体/等的数字的工作函数?
的可能的复制[是浮点运算坏了吗?](https://stackoverflow.com/questions/588004/is-floating-point-math-broken) –
浮点运算是不精确的。 –
谢谢。如何创建一个不会因浮点运算问题而失败的函数? –