フィボナッチがどのように機能するのか理解していますが、そのコードだけが私を狂わせてしまいます。私は1その後、2 1を返し、あまりにも、しかし、その後3 FIB1に送信されます(N-1)+(N-2)それは、とても1から始まることがPYTHON:トラブルこのフィボナッチコードを理解する
def fib1(n):
if n == 1 or n == 2:
return 1
return fib1(n-1) + fib1(n-2)
for i in range(1,10):
print(fib1(i))
output = 1 1 2 3 5 8 13 21 34
オーケー返し間違って行くかもしれないし、それが返されます(3-1)+(3-2)== 3?私は間違って書式を設定している可能性がありますどのように起こるか説明してください
はない '(2)+(1)'は 'FIB(2)+ FIB(です1) '。 'fib(1)'とは何ですか? 'fib(2)'とは何ですか? –
'(n-1)+(n-2)'ではありません。それは 'fib1(n-1)+ fib1(n-2)'です。 – user2357112
これは_recursion_と呼ばれます。しかし、残念ながら、再帰を理解するためには、まず再帰を理解する必要があります... – ForceBru