14. 近似计算

题目:

计算 π / 4  =  1 - 1 / 3 + 1 / 5 - 1 / 7 +  ...,直到最后一项小于 10 ^ -6。

 

思路:

数列的通项可以表示为 1 / (2 × i + 1 ),观察可知,当 i 是 2 的倍数时,该项为正,否则为负。可以用循环实现累加,每次累加之后判断是否满足条件。

 

代码:

#include 
#include
using namespace std;

int main()
{
double sum = 0.0, term = 0.0;
int i = 0;

do {
term = 1.0 / (i * 2 + 1);
if (i % 2 == 0) {
sum += term;
} else {
sum -= term;
}
++i;
} while (term > 1e-6);

cout << setprecision(6) << fixed << sum << endl;

return 0;
}

你可能感兴趣的:(14. 近似计算)