1. 程式人生 > >7-34 求分數序列前N項和 (15 分)

7-34 求分數序列前N項和 (15 分)

本題要求編寫程式,計算序列 2/1+3/2+5/3+8/5+... 的前N項之和。注意該序列從第2項起,每一項的分子是前一項分子與分母的和,分母是前一項的分子。

輸入格式:

輸入在一行中給出一個正整數N。

輸出格式:

在一行中輸出部分和的值,精確到小數點後兩位。題目保證計算結果不超過雙精度範圍。

輸入樣例:

20

輸出樣例:

32.66

思路:使用中間變數儲存分母

#include <stdio.h>
int main() 
{
    int n;
    scanf("%d",&n);
    double x = 2.0;
    double y = 1.0;
    double d;
    int c;
    double s= 0.0;
    double t;
    for(c = 1;c<n+1;c++)
    {
        d = x/y;
        s += d;
        t = x;
        x += y;
        y = t;
    }
    printf("%.2f\n",s);
return 0;
}