【发布时间】:2014-03-15 22:08:23
【问题描述】:
我发现了许多类似的主题,但没有一个给我明确的解释。
我必须编写程序,使用这个泰勒级数计算 Pi 平方到 n 位:
π^2 = 12 (1/1^2 - 1/2^2 + 1/3^2 - 1/4^2 + ...)
这是我写的:
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int n;
cout << "How many digits?" << endl;
cin >> n;
long double Pi2 = 0;
int i = 1;
while( precision is less than n ) {
if ((i%2) == 1) {
Pi2 += 1/pow(i,2);
i+=1;
}
else {
Pi2 -= 1/pow(i,2);
i+=1;
}
}
Pi2 *= 12;
cout << Pi2 << endl;
return 0;
}
我不知道在 while() 中写什么?这个循环应该什么时候停止?
【问题讨论】:
-
当您希望它停止时(即当您将 pi 计算到 n 位时)
-
这是一道数学题,不是编程题。 “错误”是您未计算的剩余无限元素。您可以绑定到该金额,然后您知道何时停止
-
这里是一些没有为你解决家庭作业的阅读材料:zweigmedia.com/pdfs/TaylorSeries.pdf.. 顺便说一句,这类问题属于 math.stackexchange.com/
-
查看此代码 stackoverflow.com/questions/22050980/… 并将 while 写入 epsilon。