私は質問がある、なぜpythonの数値計算は非常に高速ですか? 例えば以下のコードは、1秒なぜpython math.factorial(x)が非常に高速ですか?
import math
print math.factorial(10000)
理由よりも短い実行されます?
私は質問がある、なぜpythonの数値計算は非常に高速ですか? 例えば以下のコードは、1秒なぜpython math.factorial(x)が非常に高速ですか?
import math
print math.factorial(10000)
理由よりも短い実行されます?
math
module's functionsはCで実装されている:
これはC標準で定義された数学的関数へのアクセスを提供します。
Cで効率的なアルゴリズムを使用すると、高速な結果が得られます。
この特定の操作がなぜ高速であるのかを尋ねる場合は、Why is math.factorial much slower in Python 2.x than 3.x?とC code itselfを参照してください。
階乗の速度はアルゴリズムの複雑さによって決まります。 Cでの直接的な実装は、Python 3.xで使用されているアルゴリズムよりもはるかに遅くなります。 –
@SvenMarnach:OPがPython 2と3の速度を比較していたのはどうでしたか? :-P –
アルゴリズムの結果は30000桁以上の数値です。この巨大な数値計算では配列や文字列を使うべきですが、混乱しています。なぜ1秒未満の結果を返すのですか? – Pooya
この機能の速度は、Pythonのバージョンに大きく依存します。 Python 3ではもっと速く、Python 2.xを使用しているようです。 –
なぜそれは速くないでしょうか? – Gabe
[なぜPython 2.xでは3.xよりもずっと遅いのですか?](http://stackoverflow.com/questions/9815252/why-is-math-factorial-much-slower-in-python- 2-x-than-3-x)Python 2.xおよび3.xのさまざまな階乗アルゴリズムについての説明は、重複して閉じる –