Pythonの階乗関数 質問する

Pythonの階乗関数 質問する

Python で整数の階乗を計算するにはどうすればよいですか?

ベストアンサー1

最も簡単な方法はmath.factorial(Python 2.6 以降で利用可能):

import math
math.factorial(1000)

自分で書きたい場合や書かなければならない場合は、反復的なアプローチを使用できます。

def factorial(n):
    fact = 1
    for num in range(2, n + 1):
        fact *= num
    return fact

または再帰的アプローチ:

def factorial(n):
    if n < 2:
        return 1
    else:
        return n * factorial(n-1)

注意:階乗関数は正の整数に対してのみ定義されるので、またn >= 0isinstance(n, int)そうでなければ、ValueErrorまたはTypeErrorそれぞれ、math.factorialこちらが対応させていただきます。

おすすめ記事