#21

再帰:階乗

関数が自分自身を呼び出す「再帰」を、階乗 n! で学びます。

解説

再帰とは、関数が自分自身を呼び出すことです。問題を「ひとまわり小さい同じ問題」に分けて解きます。 階乗 n!(1からnまでの積)は再帰の代表例です。 - n! = n ×(n-1)! … 自分より小さい階乗を使う(再帰) - 0! = 1 … これ以上分けない出発点(ベースケース) ベースケースが必ず必要です。これが無いと関数が永遠に自分を呼び続けてエラーになります。

書き方

再帰: 関数が自分自身を呼ぶ。
・def factorial(n): の中で factorial(n - 1) を呼ぶ。
・n! = n × (n-1)!、0! = 1(ベースケース)。
・ベースケースが無いと無限再帰でエラー。

書いて動かす

この回の課題

階乗を再帰関数で定義し、0〜5 の階乗を表示してみよう(ベースケース 0!=1 を忘れずに)。

コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。

自分のPCでも続けてみませんか

Windows版 InsightPy は Python を同梱しているので、環境構築なしで同じコードを書いて実行できます。 書いたコードを保存しておけるほか、ステップ実行で変数の変化を1行ずつ確かめられます。 個人の学習や私的な目的でのご利用は、31日目以降も無料です(スクリプトの保存は10本まで)。 このブラウザ版の学習センターも、引き続き無料でお使いいただけます。