题目:有一个分数序列:2/1 + 3/2 + 5/3 + 8/5 +...,求出这个数列的前 20 项之和。
背景:无。
思路:采用 for 循环,利用数学知识
分子:第 n 项 = 第 n - 1 项 + 第 n - 2 项。
分母:第 n 项 = 第 n - 1 项 + 第 n - 2 项。
代码:
#includeint main(){double x = 2;//初始化分子double y = 1;//初始化分母double sum = 0; //求和double a = 1, b = 1;int i = 0;for (i = 0; i < 20; i++){sum =sum + x / y;x = x + y;y = a + b;a = b;b = y;}printf("%lf\n", sum);return 0;}细节:注意打印是 %lf 输出 6 位小数。