利用递归函数求斐波那契值python版

#自定义函数fib求第n个斐波那契值
def fib(n):
    if n==0:#当n为0时返回0
        return 0
    elif n==1:#但n为1时返回1
        return 1
    else:#当n大于1时,用递归的方法调用函数求第n-1和第n-2个斐波那契值
        return fib(n-1)+fib(n-2)
n=int(input())
print(fib(n))
"""语句 return fib(n-1)+fib(n-2)的意思就是向前求斐波那契值,直到n-1=1,n-2=0
因为只有第1个和第0个斐波那契值是确定的
例:
当n=3时
第一次调用函数fib会执行第三条语句(因为n>1)这样求回返回fib(2)+fib(1)
第二次调用函数时,因为2>1所有会返回fib(1)+fib(0);因为1不大于1,所以调用函数时
  会执行第二条语句返回1值。
第三次调用函数,会执行第一和第二条语句,依次返回0和1从而求得fib(2)
   fib(3)=fib(2)+fib(1)
   fib(2)=fib(1)+fib(0)
   即fib(3)=fib(1)+fib(0)+fib(1)=2*fib(1)+fib(0)"""

上一篇:0509-斐波那契数


下一篇:fibnacci数列递归实现--20211322肖权城