题目:
编写一个程序,实现斐波那契数列
思路:
斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
在数学上,费波那契数列是以递归的方法来定义:
F0 = 0 (n=0)
F1 = 1 (n=1)
F(n) = F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
解题:
求第n个斐波那契数
#for循环:
num = int(input('请输入数字:'))
def fib1(n):
a, b = 1, 1
for j in range(n - 1): # ♻️
a, b = b, a + b
return a
print('第{}个斐波那契数:{}'.format(num, fib1(num)))
#递归
num = int(input('请输入数字:'))
def fib2(n):
if n == 1 or n == 2:
return 1
else:
return fib2(n - 1) + fib2(n - 2)
print('第{}个斐波那契数:{}'.format(num, fib2(num)))
求前n个或者指定个数的斐波那契数列