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を返します。これは正しいです。しかし、それ以降はFalseになります。 4*4*4=64
または5*5*5=125
です。四角形や立方体などの数値を見つけるための関数を作成するにはどうすればよいですか?
[小数点演算が壊れて浮いていますか?](https://stackoverflow.com/questions/588004/is-floating-point-math-broken) –
浮動小数点演算が不正確である可能性の重複。 –
ありがとうございます。浮動小数点演算の問題のために失敗しない関数を作成するにはどうすればよいですか? –