首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言計算費波納契分數數列前 20 項和:雙精度實作

     編輯:關於C語言

C 語言計算費波納契分數數列前 20 項和:雙精度實作

精簡遞推版本

#include <stdio.h>

int main() {
    double sum = 0.0;
    double a = 2.0, b = 1.0; // 分子、分母

    for (int i = 1; i <= 20; ++i) {
        sum += a / b;
        double t = a;
        a = a + b; // 新分子 = 舊分子 + 舊分母
        b = t;     // 新分母 = 舊分子
    }

    printf("%.10f\n", sum);
    return 0;
}

執行結果

32.6602607323

關鍵點

  • 使用 double 雙精度浮點數,20 項累加誤差可忽略。
  • 變數 t 暫存舊分子,實現原地更新。
  • 迴圈從 1 到 20,對應第 1 到第 20 項。

此寫法為該問題最精簡、高效的標準解法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved