Python 数値の階乗を求めるプログラム
⚡ スマートサマリー
数の階乗 Python その数までのすべての正の整数の積です。 Python forループ、if-elseチェック、再帰、または組み込みのmath.factorial()関数を使用して計算します。

以下のセクションでは、階乗を計算する4つの方法を示します。 Python — forループ、if-elseバージョン、再帰、およびmath.factorial() — に加えて、その基盤となるアルゴリズムと応用例。
for ループを使用した数値の階乗
例を挙げてみましょう Python 正の整数を入力として受け取り、正の整数の階乗を求めるコードです。以下のコードでは、ループは1から始まり、階乗を求める対象となる整数の直前の数を順に掛けていきます。
以下 Python このコードは、ループを使用して階乗関数を実行する方法を示しています。
Python コード:
print ("Input a number") factorialIP = int (input ()) ffactor23 = 1 for j in range (1, factorialIP+1): ffactor23 = ffactor23 * j print ("The factorial of the number is “, ffactor23)
出力:
Input a number
4
The factorial of the number is 24
上記 Python このプログラムは正の数のみを入力として受け取り、負の数のチェックは行いません。このプログラムでは、jが1のとき係数は1になります。jが2のときは係数に2が掛けられ、jが4になって24になるまでこの処理が繰り返されます。
IF…elseステートメントを使用した数値の階乗
以下 Python このコードは、関数を使用して階乗を計算する方法を示しています。ループを使ったバージョンとは異なり、このプログラムは階乗を計算する前に負の数かどうかをチェックします。
前の Python コードでは、負の数のチェックが適用されていなかったため、階乗関数が不完全であり、負の数が入力された場合にエラーメッセージが表示される可能性が高かった。
提示されたコードでは、ループは1から始まり、直前の各数値を掛け合わせていきます。また、この関数は負の数の入力も検証します。
Python コード:
print("Enter a number for the purpose of determining factorial") factorialIP = int(input()) def factorial(factorialIP): if factorialIP < 0: print ('Factorial does not exist') factor=0 return factor elif factorialIP == 0: factor=1 return factor print(factor) else: factor = 1 for j in range (1, factorialIP+1): factor = factor * j return factor print ("The factorial of the number is ", factorial(factorialIP))
出力:
1) Enter a number to determine factorial -4 Factorial does not exist The factorial of the number is 0 2) Enter a number to determine factorial 4 Factorial does not exist The factorial of the number is 24
この Python このプログラムは正の数を受け付け、if文とelse文を使って負の数をチェックします。入力が4の場合、正しく24を返します。
再帰を使用した数値の階乗
以下 Python このコードは、再帰を用いて階乗関数を実装する方法を示しています。この例では、正の整数を入力として受け取る再帰関数が階乗を計算します。
Python コード:
print("Enter a number for the purpose of determining factorial") def factorial(num2): if num2 < 0: return 'Factorial does not exist' elif num2 == 0: return 1 else: return num2 * factorial(num2-1) number1 = int(input()) print("The factorial of the number is",factorial(number1))
出力:
Enter a number for the purpose of determining factorial 4 The factorial of the number is 24
再帰は、関数が呼び出されるという概念として説明できます。 Python モジュールは自身を何度も呼び出すことができます。 Python モジュール内に存在する条件が満たされ、呼び出された関数に値が渡されます。
上記で Python このプログラムでは、関数 def factorial は、数値がゼロになるまで再帰的に自身を呼び出し続けます。数値がゼロになると、数値を 1 に初期化し、再帰を終了します。
math.factorial() を使用した数値の階乗
以下 Python このコードは、mathモジュールをインポートすることで使用できるmath.factorial()関数を使用した階乗関数を示しています。
この関数は負の整数を受け付けず、浮動小数点数を指定すると値エラーが発生します。
Python コード:
print("Enter a number for computing factorial") import math number1 = int(input()) print("The factorial is as computed comes out to be ") print(math.factorial(number1))
出力:
Enter a number for computing factorial 4 The factorial, as computed, comes out to be 24
階乗プログラムのアルゴリズム Python
階乗の概念を説明する例を見てみましょう。
階乗5を求めるには、以下の手順に従ってください。
5! = 5 x (5-1) x (5-2) x (5-3) x (5-4) 5! =120
ほら、5! は120で表されます。
次の図は階乗を計算するアルゴリズムを理解するのに役立ちます。この場合は、階乗 4 の例を見てみましょう。
階乗4のアルゴリズム兼図例!
階乗の応用 Python
階乗は数学において幅広い応用があります。階乗の重要な応用例を次に示します。 Python:
- Python 計算に役立ち、他のプログラミング言語よりも高速かつ効率的に階乗を出力します。
- その Python コードは理解しやすく、異なるプラットフォーム間で複製可能であり、階乗 Python このプログラムは、いくつかの数学モデル構築課題に組み込むことができる。

