2012-05-13 2 views
1

Pythonで任意の次数の算術根を抽出する方法は? 私はそのアルゴリズムを知っています:任意の次数の算術根の抽出

z = pow(x,(1/N)) 

これは間違いありませんか? これは唯一の方法ですか?

答えて

4

これは実際に行く方法です。しかし、あなたは(Nは常にフロートでない限り)フロート分裂を確保するために1.0/Nを使用する必要があります。

>>> 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を使用することができます

>>> 27**(1.0/3) 
3.0 
:):あなたも x ** y演算子を使用することができ

>>> from __future__ import division 
>>> import math 
>>> math.pow(27, 1/3) 
3.0 

代わりの

1

**演算子は使用できます

>>>x = 32 
    >>>n = 5 
    >>>x**(1.0/n) 
    2.0 
関連する問題