C语言:分数序列求和

题目:有一个分数序列:2/1 + 3/2 + 5/3 + 8/5 +...,求出这个数列的前 20 项之和。

背景:无。

思路:采用 for 循环,利用数学知识

分子:第 n 项 = 第 n - 1 项  + 第 n - 2 项。

分母:第 n 项 = 第 n - 1 项  + 第 n - 2 项。

代码:

#include<stdio.h>
int 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 位小数。

猜你喜欢

转载自blog.csdn.net/AAlykk/article/details/130677756