ホームページ >バックエンド開発 >Python チュートリアル >Python で階乗を再帰的に見つける方法

Python で階乗を再帰的に見つける方法

angryTom
angryTomオリジナル
2020-02-13 11:23:3021693ブラウズ

Python で階乗を再帰的に見つける方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。