1. 程式人生 > >求分數序列和

求分數序列和

 

描述:

有一個分數序列 q1/p1,q2/p2,q3/p3,q4/p4,q5/p5,.... ,其中qi+1= qi+ pi, pi+1=qi, p1= 1, q1= 2。比如這個序列前6項分別是2/1,3/2,5/3,8/5,13/8,21/13。求這個分數序列的前n項之和。

輸入:

輸入有一行,包含一個正整數n(n <= 30)。

輸出:

輸出有一行,包含一個浮點數,表示分數序列前n項的和,精確到小數點後4位。

樣例輸入

2

樣例輸出

3.5000

演算法:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,i;
    double sum=0,a=2,b=1,c;
    
    scanf("%d",&n);
    
    for(i=1; i<=n; i++)
    {
        sum += a/b;
        c=a;
        a = a+b;
        b=c;
    }
    printf("%.4lf\n",sum);
    //system("pause");
    return 0;
}

規律不難發現,每一次的分子係數都是前一個分數的分子和分母之和。

 

    成功的路上要經過冷水關、汗水關和淚水關,寧可被人笑一時,不可被人笑一世。