(三十五)帮贴吧人解答的一道题

题目是,现有数学算式1+1/3+1/5+1/7……,计算直到最后一项小于10的-4次方时,算式和的近似值。

 

想了想,题目要求,应该包含最后一个小于10的-4次方的数字,所以应该用do while才对。


#include<iostream>
using namespace std;
int main()
{
	double a,b;	//a为不停的增加的分数的分母,b为数列和
	a = 1;
	b = 0;
		//即当1/a小于10的-4次方时,停止while循环
	do
	{
		b = (1/a) + b;	//a初始是1,b初始是0,b是之前的数列之和(即旧b)和最新的a之和。
		a = a + 2;	//a作为分母,每次都比之前大2
	} 
	while (1 / a > 0.0001);
	cout << "a= " << a << endl;
	cout << "b= " << b << endl;	//最后输出a和b的值,由于精度问题,所以……
	system("pause");
	return 0;
}


输出答案是,a为10001,b为5.24035


你可能感兴趣的:((三十五)帮贴吧人解答的一道题)