有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
#include
int main() {
int i;
double a = 2, b = 1, sum = 0, t;
for (i = 1; i
sum += a / b;
t = a;
a = a + b;
b = t;
}
printf("前20项之和为%.2f\n", sum);
return 0;
}
这道题目要求计算一个分数数列的前20项之和。这个数列每一项都是前两项之和的比值,也就是说,第三项是第一项和第二项之和的比值,第四项是第二项和第三项之和的比值,以此类推。
为了计算这个数列的前20项之和,我们需要使用一个循环来依次计算每一项,并将它们相加。在循环中,我们需要使用两个变量a和b来表示数列中的相邻两项,初始值分别为2和1。然后,通过循环计算出每一项的值,将它们累加到变量sum中,最后输出sum即可。
具体来说,循环的过程如下:
将a/b加到sum中。
将a和b交换,使a变成下一项的分子,b变成下一项的分母。
重复步骤1和2,直到计算出前20项。
需要注意的是,由于数列中的项是分数,因此需要使用double类型来存储。同时,输出结果时需要使用%.2f的格式控制符来保留两位小数。
领取专属 10元无门槛券
私享最新 技术干货