程序设计:一个数列的头三个数是00,1,第四个数是前三个数之和,以后每个都是前三个数之和,问当该数列中的某个数值达到n时(n有键盘输入),它是该数列的第几项?
#include<iostream>
using namespace std;
int main() {
int n,f1=0,f2=0,f3=1,f4;
cin>>n;
if(n==0){
cout<<1;
return 0;
}
if(n==1){
cout<<3;
return 0;
}
int p=3;
do{
f4=f1+f2+f3;
f1=f2;
f2=f3;
f3=f4;
p++;
cout<<"下一项:"<<f4<<endl;
}while(f4<n);
if(f4==n){
cout<<p;
}else{
cout<<"数列没有"<<n;
}
return 0;
}
有帮助请采纳