Python で階乗を再帰的に見つける方法
階乗: たとえば、 5! は「5 の階乗」、つまり次のことを指します。 5! = 1*2*3*4*5。
「再帰」は自分自身を呼び出す関数です。
推奨学習: Python ビデオ チュートリアル
def f(x): if x == 0: return 0 elif x == 1: return 1 else: return (x * f(x-1)) print(f(5))
コードの説明: x=5 の場合、5*f(4) の値を返します。この値を知りたい場合は、まず f(4) が何に等しいかを計算する必要があります。関数 f(x) によれば、f(4) = 4*f(3) なので、f(5) = 5*4*f(3) となります。類推すると、f(5) = 5*4*3*2*f(1) となります。関数 f(x) は、x==1 の場合、戻り値は 1 であることを示します。つまり、f(5) = 5*4*3*2*1 = 120 となります。したがって、出力結果は次のようになります。
120
非常に面倒でわかりにくそうです。再帰関数を使用しない場合はどうなるでしょうか?最も基本的なコードを使用すると、次のように記述できます。
f = 1 for i in range(1,6): f = f * i print(f)
結果は依然として 120 です。
以上がPython で階乗を再帰的に見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。