用python实现斐波那契数列的5种简单方法_python实现斐波那契数列

斐波那契数列即著名的兔子数列:1、1、2、3、5、8、13、21、34、……

1,1,2,3,5,8,13比如这样一个兔子的对列,第三个数是前两个数之和。让写一个方法,比如让你随机输入一个数字,把它前面的两个数打印出来

def fib_num(n):

a=0

b=1

lis=[]

while b<=n:

lis.append(b)

a,b=b,a+b

n_index=lis.index(n)

return [lis[n_index-2],lis[n_index-1]]

数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单:

a=0

b=1

while b < 1000:

print(b)

a, b = b, a+b

递归方式实现斐波那契数列 前n项:

copycode.gif

# 递归方式实现 生成前20项

lis =[]

for i in range(20):

if i ==0 or i ==1:#第1,2项 都为1

lis.append(1)

else:

lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和

print(lis)这种方式也可生成前20项

a = 1b = 1for i in range(1,11): print('%d %d'%(a,b)) a += b b += a

数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单:

a=0

b=1

while b < 1000:

print(b)

a, b = b, a+b

递归方式实现斐波那契数列 前n项:

copycode.gif

# 递归方式实现 生成前20项

lis =[]

for i in range(20):

if i ==0 or i ==1:#第1,2项 都为1

lis.append(1)

else:

lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和

print(lis)这种方式也可生成前20项

a = 1b = 1for i in range(1,11): print('%d %d'%(a,b)) a += b b += a

来源:https://www.cnblogs.com/niuniu2018/p/8405486.html

你可能感兴趣的:(用python实现斐波那契数列的5种简单方法_python实现斐波那契数列)