重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
fib(0)=0,fib(1)=1 ,fib(2)=1 ,fin(3)=2,Feibonacci通项公式fib(n)=fib(n-1)+fib(n-2),n=2
创新互联公司是一家集网站建设,四川企业网站建设,四川品牌网站建设,网站定制,四川网站建设报价,网络营销,网络优化,四川网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
fib他是写了一个函数--FIBONACCI函数
它是一个递归函数
不懂可以去百度上搜一下
这个你可以看懂吧?
Fib(int n)
{
if(n=2)
return 1;
else
return Fib(n-1)+Fib(n-2);
}
你取 n=4,则return Fib(3)+Fib(2) -- Fib(3)=Fib(2)+Fib(1) -- Fib(2)=1 Fib(1)=1
-- Fib(3) = 2 所以n=4时,返回的值就是 3,它就是一种递归的算法,老师也是教你们学习递归用的,斐波那契函数。
你的C语言程序混淆了题目要求的m和n值之间菲波那契数列和菲波那契数列的项数n
所以按照题目要求编写的输出m和n之间的菲波那契数列的C语言程序如下
#include stdio.h
int fib(int n);
int main(void)
{
int i,m,n,temp;
printf("Input m and n:\n");
scanf("%d%d",m,n);
i=1;
while(1)
{
temp=fib(i);
if(temp=m temp=n)
{
printf("%d ",temp);
}
if(tempn) break;
i++;
}
return 0;
}
int fib(int n)
{
int i,x1,x2,x;
if(n==1||n==2)
x=1;
else
{
x1=x2=1;
for(i=1;i=n-2;i++)
{
x=x1+x2;
x1=x2;
x2=x;
}
}
return x;
}
运行结果
Input m and n:
3 20
3 5 8 13
1、fib是斐波那契数列的意思。
2、著名的fibonacci数列,定义如下
f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2),n2
用文字来说,就是斐波那契数列由
和
1
开始,之后的斐波那契系数就由之前的两数相加.首几个斐波那契系数是:
0,1,1,2,3,5,8,13,21