【问题描述】要求实现一个计算Fibonacci数的函数,并利用其实现另一个函数——输出两正整数m和n(0<m<n≤100000)之间的所有Fibonacci数的数目。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1,即fib(0)=fib(1)=1)的数列。
其中函数fib(i)须返回第i项Fibonacci数;
函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
要求输入区间范围m、n以及i打印输出区间[m,n]中Fibonacci数的数目,以及第i项Fibonacci数。
提示:Fibonacci数列从第0项开始。
【样例输入】20 100 6
【样例输出】fib(6) = 13
4
【样例说明】区间[20,100]中的Fibonacci数个数为4个,以及第6项Fibonacci数为13。
步骤一:定义fib(i)函数
def fib(i):
if i==0 or i==1:
return 1
else:
return fib(i-1)+fib(i-2) #满足任一项数字是前两项的和
解释:最开始前两项均为1,且Fibonacci数列从第0项开始。 Fibonacci数列就是满足任一项数字 是前两项的和。
步骤二:定义PrintFN(m,n)函数
函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。