Pythonで再帰関数を使って n の階乗を計算する方法

パイソンでは、再帰的手法を用いてnの階乗を計算することができます。再帰とは関数が自身を呼び出すことを指します。

再帰を用いてnの階乗を計算するコードを以下に示します。

def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
# 测试
num = 5
result = factorial(num)
print(f"{num}的阶乘是:{result}")

出力を得るには

5的阶乘是:120

この例では、factorial() 関数が再帰的に n の階乗を求めています。再帰の終了条件は n が 0 か 1 の場合で、これは 0 と 1 の階乗がどちらも 1 であるためです。n が 1 より大きい場合、関数は自身を呼び出して n-1 の階乗を求め、その結果に n を掛けたものを返します。

再帰アルゴリズムはnが大きい場合、スタックオーバーフローを引き起こす可能性があることに注意してください。このため、実際的なアプリケーションでは、他のアルゴリズムまたは反復的方法を使用して階乗を計算する必要があります。

コメントを残す 0

Your email address will not be published. Required fields are marked *


广告
広告は10秒後に閉じます。
bannerAds