一个C++题目 关于Fibonacci数列

来源:百度知道 编辑:UC知道 时间:2024/06/22 14:49:29
用户输入一个数t,编写程序输出Fibonacci数列中大于t的最小的一个数。
其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)例:
输入:53
输出:55

#include <iostream.h>
int F(int n)
{
if(n==0||n==1)return n;
else return F(n-1)+F(n-2);
}
void main()
{
int t,n=0;
cin>>t;
while(1){
if(F(n)<=t)n++;
else break;
}
cout<<F(n);
}

#include <stdio.h>

main()
{
int a=0,b=1,tmp,n;
scanf("%d",&n);
while(a+b<=n)
{
tmp=a+b;
a=b;
b=tmp;

}
printf("%d",a+b);
}