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) –
浮點運算是不精確的。 –
謝謝。如何創建一個不會因浮點運算問題而失敗的函數? –