factorial(5) を再帰関数で計算して、5の階乗 120 を表示しよう。def countdown(n):
if n == 0:
print('発射!')
return
print(n)
countdown(n - 1)
countdown(3) → 3 2 1 発射!n == 0 が「終わりの条件」、最後の行が「ひとまわり小さくして自分を呼ぶ」部分です。factorial、引数 n を1つ受け取るn が1以下のときは 1 を返す(これが終わりの条件)n と「1つ小さい数の階乗」をかけた結果を返すfactorial(5) なら 5 × 4 × 3 × 2 × 1 = 120 が返る120
全問正解でクエストクリア!
問題 1: 再帰でfactorial(3)を計算して6を表示しよう!
問題 2: 再帰でフィボナッチ数列のfib(7)(= 13)を表示しよう!
(fib(0)=0, fib(1)=1, fib(n)=fib(n-1)+fib(n-2))
問題 3: 再帰で1〜nの合計を返すsum_to(n)を作ってsum_to(10)(= 55)を表示しよう!