码迷,mamicode.com
首页 > 其他好文 > 详细

有一个分数序列,求出这个数列的前20项之和2/1,3/2,5/3/8/5,13/8,25/13

时间:2020-07-06 14:29:19      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:个数   答案   lang   src   截图   有一个   初始   return   通过   

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

技术图片

答案解析:

从题目当中可以看出来,下一个分式当中的分子为上一个分式中分子和分母的和,分母为上一个分式的分子。通过这个规律不难推出下一个分式的分子和分母,需要注意的是,保存分式的结果不能使用到整数,因为有可能会有小数的存在,所以我们需要选用浮点数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\n", COUNT, sum);
	return 0;
}

运行截图:

技术图片

有一个分数序列,求出这个数列的前20项之和2/1,3/2,5/3/8/5,13/8,25/13

标签:个数   答案   lang   src   截图   有一个   初始   return   通过   

原文地址:https://www.cnblogs.com/inta/p/13254534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!