Python快速上手练习题
今天的题有亿点点延伸
当然最后一种方法其实没学会也影响不大,不想学图一乐就好,
想学可以参照我下面的路线去看看其他博主的博文,放个传送门,
先看着,什么地方不会到时候再查,
实在看不懂可以在下面评论,我可以试着给兄弟们讲讲
下面开始正文
斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。
在数学上,费波那契数列是以递归的方法来定义。
这里提供递归、递推及矩阵快速幂三种方法,最后一种有一定难度,不想学可以跳过。
(学的话顺便可以先接触一下类的用法,本人也是刚刚百度的python运算符重载=。=)
方法1 递归大法
效率极低,不信可以随便试试,三位数估计可以跑一年
#递归 n稍大一点(超过40)就需要很长的计算时间
def fib(n):
if n==1 or n==2:
return 1
return fib(n-1)+fib(n-2)
print(fib(10),end=" ")
方法2 递推式
效率一般,但足够日常使用
#递推式 一般可以在数秒内计算10^7的数据
fibb =