Pythonで再帰を使ってnの階乗を求める方法は何ですか?

nの階乗を再帰的に計算するためには、再帰関数を定義することができます。その関数は、nが1かどうかを判断し、1であれば1を返し、そうでなければnを再帰的に呼び出した関数にn-1の階乗を渡してそれを返します。

以下は、nの階乗を再帰的に求める例のコードです。

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

# 测试
num = int(input("请输入一个正整数: "))
print(num, "的阶乘为", factorial(num))

上記のコードでは、最初に関数factorialを定義しています。この関数は1つの引数nを受け取り、nの階乗を計算します。関数内では、条件付き文を使用しており、nが1の場合は1を返し、それ以外の場合はnに自身を呼び出してn-1を渡した階乗の結果を返します。

テスト部分では、ユーザーの入力された数字をinput関数で取得し、その後factorial関数を呼び出して結果を印刷します。

bannerAds