有一個分數序列,求出這個數列的前20項之和 2/1,3/2,5/3,8/5,13/8,25/13


有一個分數序列,求出這個數列的前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\n", COUNT, sum);
	return 0;
}

運行截圖:

有一個分數序列,求出這個數列的前20項之和 2/1,3/2,5/3,8/5,13/8,25/13


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM