1.斐波那契数列
题目:
斐波那契数列:1, 2, 3, 5, 8, 13, 21.....根据这样的规律,编程求出400万以内最大的斐波那契数,并求出他是第几个斐波那契数
解题思路:
- 首先要得到前两项,从第三项开始,每一项都为前两项之和;
- 所以这个公式应该大致为 x + y = y
1)递归思想
def func(num):
if num == 1:
return 1
elif num == 2:
return 2
else:
return func(num - 1) + func(num - 2)
print(func(5))
#输出结果:
8
图形演示!
2)for循环思想
def fib2(num):
n1 = 1
n2 = 2
if num == 1:
return 1
elif num == 2:
return 2
else:
for i in range(3,num + 1):#range(3,3)
n1,n2 = n2,n1 + n2 # x , y = y , x+y 前两项之和等于下一次两个数相加
return n2
print(fib2(5))
#输出结果
8