求斐波那契数列的第n个数的值
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……这个数列从第3项开始,每一项都等于前两项之和。
第一种方法
def n_num(num):
# 先定义第一个数和第二个数
a = 1
b = 1
for i in range(num-1):
# 转换数值
a, b = b, a+b
# 返回数值
return a
# 打印第30个数
print(n_num(30)) # 832040
第二种方法
def n_num(num):
# 出口
if num == 1 or num == 2:
return 1
# 递归前两个数的和
return n_num(num-1) + n_num(num-2)
# 打印第30个数
print(n_num(30)) # 832040