logo

数値の階乗を求める Python プログラム

階乗とは何ですか?

Factorial は非負の整数です。これは、階乗を求める数値以下のすべての正の整数の積です。感嘆符 (!) で示されます。

例:

 n! = n* (n-1) * (n-2) *........1 4! = 4x3x2x1 = 24 

4 の階乗値は 24 です。

注: 0 の階乗値は常に 1 です。 (ルール違反)

例 -

 num = int(input(&apos;Enter a number: &apos;)) factorial = 1 if num <0: 0 print(' factorial does not exist for negative numbers') elif num="=" 0: print('the of is 1') else: i in range(1,num + 1): of',num,'is',factorial) < pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 10 The factorial of 10 is 3628800 </pre> <p> <strong>Explanation -</strong> </p> <p>In the above example, we have declared a <strong>num</strong> variable that takes an integer as an input from the user. We declared a variable factorial and assigned 1. Then, we checked if the user enters the number less than one, then it returns the factorial does not exist for a negative number. If it returns false, then we check num is equal to zero, it returns false the control transfers to the else statement and prints the factorial of a given number.</p> <h3>Using Recursion</h3> <p>Python recursion is a method which calls itself. Let&apos;s understand the following example.</p> <p> <strong>Example -</strong> </p> <pre> # Python 3 program to find # factorial of given number def fact(n): return 1 if (n==1 or n==0) else n * fact(n - 1); num = 5 print(&apos;Factorial of&apos;,num,&apos;is&apos;,) fact(num)) </pre> <p> <strong>Output:</strong> </p> <pre> Factorial of 5 is 120 </pre> <p> <strong>Explanation -</strong> </p> <p>In the above code, we have used the recursion to find the factorial of a given number. We have defined the <strong>fact(num)</strong> function, which returns one if the entered value is 1 or 0 otherwise until we get the factorial of a given number.</p> <h3>Using built-in function</h3> <p>We will use the math module, which provides the built-in <strong>factorial()</strong> method. Let&apos;s understand the following example.</p> <p> <strong>Example -</strong> </p> <pre> # Python program to find # factorial of given number import math def fact(n): return(math.factorial(n)) num = int(input(&apos;Enter the number:&apos;)) f = fact(num) print(&apos;Factorial of&apos;, num, &apos;is&apos;, f) </pre> <p> <strong>Output:</strong> </p> <pre> Enter the number: 6 Factorial of 6 is 720 </pre> <p>We have imported the math module that has <strong>factorial()</strong> function. It takes an integer number to calculate the factorial. We don&apos;t need to use logic.</p> <hr></0:>

説明 -

上の例では、 1つで ユーザーからの入力として整数を受け取る変数。変数階乗を宣言し、1 を割り当てました。次に、ユーザーが 1 未満の数値を入力したかどうかを確認し、負の数値には階乗が存在しないことを返します。 false を返した場合は、num が 0 に等しいかどうかを確認し、false を返し、制御が else ステートメントに移り、指定された数値の階乗を出力します。

再帰の使用

Python の再帰は自分自身を呼び出すメソッドです。次の例を理解してみましょう。

例 -

 # Python 3 program to find # factorial of given number def fact(n): return 1 if (n==1 or n==0) else n * fact(n - 1); num = 5 print(&apos;Factorial of&apos;,num,&apos;is&apos;,) fact(num)) 

出力:

 Factorial of 5 is 120 

説明 -

上記のコードでは、再帰を使用して指定された数値の階乗を見つけました。私たちが定義したのは、 事実 この関数は、指定された数値の階乗を取得するまで、入力された値が 1 の場合は 1 を返し、そうでない場合は 0 を返します。

組み込み関数の使用

組み込みの関数を提供する math モジュールを使用します。 階乗() 方法。次の例を理解してみましょう。

ピート・デビッドソン

例 -

 # Python program to find # factorial of given number import math def fact(n): return(math.factorial(n)) num = int(input(&apos;Enter the number:&apos;)) f = fact(num) print(&apos;Factorial of&apos;, num, &apos;is&apos;, f) 

出力:

 Enter the number: 6 Factorial of 6 is 720 

次の数学モジュールをインポートしました。 階乗() 関数。階乗を計算するには整数が必要です。ロジックを使う必要はありません。