fibnacci 数列递归实现
fibnacci 数列递归实现
什么是fibnacci数列?
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
斐波那契数列指的是这样一个数列:
这个数列从第3项开始,每一项都等于前两项之和。
它的递归表达式
Fibonacci数列:
F(1)=1
F(2)=1
F(n)=F(n-1)+F(n-2) (n>2)
递归表达式
def fib(n):
return 1 and n <= 2 or fib(n - 1) +fib(n - 2)
print('\n 最终结果为 %d'%(fib(n)))
and
def fib(n):
a,b=1,1
for i in range(n):
a,b=b,a+b
return a
print(fib(10))
print(fib(100))
print(fib(1000))
print(fib(10000))
and
# Filename : test.py
# author by : www.runoob.com
def recur_fibo(n):
"""递归函数
输出斐波那契数列"""
if n <= 1:
return n
else:
return(recur_fibo(n-1) + recur_fibo(n-2))
# 获取用户输入
nterms = int(input("您要输出几项? "))
# 检查输入的数字是否正确
if nterms <= 0:
print("输入正数")
else:
print("斐波那契数列:")
for i in range(nterms):
print(recur_fibo(i))