|
20鱼币
- def Fibonacci(n):
- if n == 1:
- print(1)
- return 1
- elif n == 2:
- print(2)
- return 1
- else:
- print(n-1,n-2)
- return (Fibonacci(n-1)+Fibonacci(n-2))
- number = int(input("请输入数字:"))
- print(Fibonacci(number))
- """
- 请输入数字:6
- 5 4
- 4 3
- 3 2
- 2 1
- 2
- 1
- 2
- 2 1
- 2
- 1
- 3 2
- 2 1
- 2
- 1
- 2
- 8
- """
复制代码
通过打印测试,想看看执行步骤,发现看不明白。大神能帮忙点拨下么?这部分知识应该在哪里学,计算机原理,汇编语言,还是数据结构呢?
斐波那契数: f(n) = f(n-1) + f(n-2) n>0 ;已知 f(2) = f(1) =1
这看你逻辑思维吧,结合图片会更好理解
- f(5)
- f(4) f(3)
- f(3) + f(2) f(1) + f(2)
- f(1) + f(2)
- f(1) = f(2) = 1
- f(5) = f(4) + f(3) 原始
- 其中
- f(4) = f(3) + f(2) 递
- f(3) = f(1) + f(2) 递
- 所以
- f(3) = f(1) + f(2) = 1 + 1 = 2 归
- f(4) = f(3) + f(2) = 2 + 1 = 3 归
- f(5) = f(4) + f(3) = 3 + 2 = 5 归必
复制代码
|
最佳答案
查看完整内容
斐波那契数: f(n) = f(n-1) + f(n-2) n>0 ;已知 f(2) = f(1) =1
这看你逻辑思维吧,结合图片会更好理解
|