C++编程,有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和.

输入描述

输入有一行:正整数n。

输出描述

输出有一行:分数序列的和(浮点数,精确到小数点后4位)。
【提示】
1.
最好在程序中使用双精度浮点数(double)记录求得的和。
2.
要输出浮点数、双精度数小数点后4位数字,可以用下面这种形式:
cout<<fixed<<setprecision(4)<<result<<endl;
按上面的形式控制输出格式时,需在源程序最开始加上一行:#include<iomanip>。

输入样例

99

输出样例

160.4849

第1个回答  2013-10-25
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
    int n,i;
    cin>>n;
    double a=1,b=2;
    double result = 0.0;
    for(i=0;i<n;++i) {
        double tmp = b/a;
        result +=tmp;
        b = a+b;
        a = b-a;
    }
    cout<<fixed<<setprecision(4)<<result<<endl;
    return 0;
}

本回答被提问者采纳
相似回答