再帰関数 [rɪ'kɜːʃ(ə)n]再帰
関数がそれ自体を内部的に呼び出す場合、その関数は再帰関数と呼ばれます。
典型的なガウス和の問題、1 + 2 + 3 + 4 +…+ 99 + 100
def sum_number(n):
total = 0
for i in range(1, n+1):
total += i
return total
sum_number(100)
ただし、再帰関数を使用して書き込む場合は、次のようになります。
def sum_number(n):
if n <= 0:
return 0
return n + sum_number(n-1)
sum_number(100)
s = sum_number
s(n)= n + s(n-1)=…= n +(n-1)+ ... + 1 + s(0)
たとえば、階乗を計算してみましょう n! = 1 x