c++程序问题: fibonacci数列倒数求和
计算1+1+1/2+1/3+1/5+1/8+…,当最后一项小于e(用户输入)时结束。提示各项的分母为fibonacci数列:1,1,2,3,5,8,13,。。。,要求:求...
计算1+1+1/2+1/3+1/5+1/8+…,当最后一项小于e(用户输入)时结束。提示各项的分母为fibonacci数列:1,1,2,3,5,8,13,。。。,要求:求fibonacci数列第n项写成递归函数。
正确答案是输入0.01 应该输出3.3417 展开
正确答案是输入0.01 应该输出3.3417 展开
1个回答
展开全部
c++
#include<iostream>
using namespace std;
long fibonacci(int n){
if(n==1 || n==2) return n;
return fibonacci(n-1)+fibonacci(n-2);
}
int main() {
float sum=0,a=0,index=1, e;
cin>>e;
do{
a=fibonacci(index++);
sum+=1.0/a;
}while(1.0/a>e);
cout <<sum<<endl;
return 0;
}
更多追问追答
追问
不对啊 正确答案是输入0.01 应该输出3.3417
追答
#include<iostream>
using namespace std;
long fibonacci(int n){
if(n==1 || n==2) return 1;
return fibonacci(n-1)+fibonacci(n-2);
}
int main() {
float sum=0,a=0,index=1, e;
cin>>e;
do{
a=fibonacci(index++);
sum+=1.0/a;
}while(1.0/a>e);
cout <<sum<<endl;
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询