有一个分数序列,求出这个数列的前20项之和。 21,32,53,85,138,2513,...

10.有一个分数序列,求出这个数列的前20项之和。

(frac{2}{1})(frac{3}{2})(frac{5}{3})(frac{8}{5})(frac{13}{8})(frac{25}{13}),...

答案解析:

从题目当中可以看出来,下一个分式当中的分子为上一个分式中分子和分母的和,分母为上一个分式的分子。通过这个规律不难推出下一个分式的分子和分母,需要注意的是,保存分式的结果不能使用到整数,因为有可能会有小数的存在,所以我们需要选用浮点数double

代码示例:

#include <stdio.h> 
//定义循环次数
#define COUNT 20

int main()
{
	//定义第一个分式的分子为a, 值为2; 定义分母为b,值为1
	//定义相加的和为sum,初始值为0
	double a = 2, b = 1, sum = 0;
	double temp;

	for (int i = 0; i < COUNT; i++)
	{
		sum += a / b;
		//记录前一项分子
		temp = a;
		//前一项分子与分母之和为后一项分子
		a = a + b;
		//前一项分子为后一项分母
		b = temp;
	}
	printf("前%d项之和为:sum=%9.7f
", COUNT, sum);
	return 0;
}

运行截图:

有一个分数序列,求出这个数列的前20项之和。 21,32,53,85,138,2513,...

原文地址:https://www.cnblogs.com/weiyidedaan/p/13660885.html