Pythonで任意の次数の算術根を抽出するには? 私はそのアルゴリズムを知っています:
z = pow(x,(1/N))
これは正しいです?これが唯一の方法ですか?
これは確かに行く方法です。1.0/N
ただし、 float 除算を確実にするために使用する必要があります(N
が常に float でない場合)。
>>> import math
>>> math.pow(27, 1/3)
1.0
>>> math.pow(27, 1.0/3)
3.0
>>> math.pow(27, 1/3.0)
3.0
を使用from __future__ import division
して/
、「通常の」除算演算子を作成することもできます (整数除算の場合は、 を使用します//
)。
>>> from __future__ import division
>>> import math
>>> math.pow(27, 1/3)
3.0
代わりに、次の演算子math.pow(x, y)
を使用することもできます。x ** y
>>> 27**(1.0/3)
3.0
** 演算子を使用できます
>>>x = 32
>>>n = 5
>>>x**(1.0/n)
2.0