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
展开
 我来答
tanliantom
2015-10-30 · TA获得超过372个赞
知道小有建树答主
回答量:240
采纳率:83%
帮助的人:93.8万
展开全部

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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式