已知斐波那契数列中的某一个数,如何求出它排在第几位?
2个回答
展开全部
运行这个程序即可(若这个数位于第n项与第n+1项之间,则输出n):
#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int main(){
int n,a,b,ans,tmp;
while(scanf("%d",&n)!=EOF){
if(1==n){
printf("2\n");
continue;
}
a=1,b=1;
for(ans=1;;ans++){
if(a+b>n) break;
else{
tmp=b;
b=a+b;
a=tmp;
}
}
printf("%d\n",ans);
}
}
#include<cstdio>
#include<cmath>
#include<iostream>
using namespace std;
int main(){
int n,a,b,ans,tmp;
while(scanf("%d",&n)!=EOF){
if(1==n){
printf("2\n");
continue;
}
a=1,b=1;
for(ans=1;;ans++){
if(a+b>n) break;
else{
tmp=b;
b=a+b;
a=tmp;
}
}
printf("%d\n",ans);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询