#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 暫存舊分子,實現原地更新。此寫法為該問題最精簡、高效的標準解法。