c算法-分數數列求和

題目及代碼:

#include <stdio.h>
int feibo(int n)
{
    if (n==1) {
        return 1;
    }
    if (n==2) {
        return 2;
    }
    return feibo(n-1)+feibo(n-2);
}
int main(int argc, const char * argv[]) {
   /**
   題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。(程序分析:請抓住分子與分母的變化規律。)
    **/
//分子分母都是斐波那契數列,分母是1,2開始的第20項,分子是第21項
//    先計算分母,即第20項
    float sum=0,number=0;
    for (int i=1;i<=20;i++) {
        number=(float)feibo(i+1)/feibo(i);
        sum+=number;
    }
    printf("%f\n",sum);
    return 0;
}

運行:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章