Python--详解斐波那契数列Python版

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值