どうも、ちょげ(@chogetarou)です。
Nの階乗を求める方法を紹介します。
方法

Nの階乗を取得する方法は、4つあります。
forループ
1つ目は、forループを使う方法です。
まず、階乗の結果を保持する変数を用意します。
result = 1
次に、1からN+1までのrange()をforループします。
そして、forループの処理で、ループ変数を用意した変数に掛けます。
for i in range(1, n + 1):
result = result * i
上記のforループは、Nの階乗を求め、用意した変数に階乗の結果を格納します。
使用例
def calFact(n):
result = 1
for i in range(1, n + 1):
result = result * i
return result
print(calFact(3))
print(calFact(5))
print(calFact(10))
出力:
6
120
3628800
whileループ
2つ目は、whileループを使う方法です。
まず、数値「N」を受け取る引数を持つ関数を定義します。
階乗の結果を保持する初期値「1」の変数を用意します。
def calFact(n):
result = 1
次に、whileループを記述します。
whilteループの条件式には、関数の引数が1より大きいという比較式を指定します。
そして、ループ処理で用意した変数に関数の引数を掛け、関数の引数を「-1」します。
あとは、戻り値として用意した変数を返します。
def calFact(n):
result = 1
while n > 1:
result = result * n
n = n - 1
return result
上記の関数は、引数に指定した値の階乗を求めます。
使用例
def calFact(n):
result = 1
while n > 1:
result = result * n
n = n - 1
return result
print(calFact(3))
print(calFact(5))
print(calFact(10))
出力:
6
120
3628800
math.factorial()
3つ目は、math.factorial()を使う方法です。
まず、mathをインポートします。
import math
mathからfactorial()を呼び出します。
そして、factorial()の引数に数値を指定します。
math.factorial(N)
math.factorial()は、引数に指定した数値の階乗を返します。
使用例
import math
print(math.factorial(3))
print(math.factorial(5))
print(math.factorial(7))
出力:
6
120
5040
numpy.math.factorial()
4つ目は、numpy.math.factorial()を使う方法です。
まず、numpyをインポートします。
import numpy
numpy.mathからfactorial()を呼び出します。
そして、factorial()の引数に数値を指定します。
numpy.math.factorial(N)
numpy.math.factorial()は、引数に指定した数値の階乗を返します。
使用例
import numpy as np
print(np.math.factorial(3))
print(np.math.factorial(5))
print(np.math.factorial(7))
出力:
6
120
5040
まとめ
Nの階乗を取得する方法は、次の4つです。
- forループを使う方法
- whileループを使う方法
- mathを使う方法
math.factorial(N)
- numpy.math.factorial()を使う方法
numpy.math.factorial(N)
コメント