我正在计算n的值,它解决了下面的问题。我不太清楚我在哪里搞砸了。我也尝试过使用do while循环,但是我在找出逻辑错误时遇到了困难。有人能帮忙吗?
如果S=/6=√(6*( 1+1/2^2+1/3^2 +1/4^2 + 1/5^2 +.)=( PI ^2)√,则经多少项等于PI=6位小数位.PI到6位小数点是3.141592.我的代码的相关部分如下:
double s = 0;
for(int n=1;abs(sqrt(6*s) - 3.141592) >= pow(10,-6);n++) {
s += (1/(pow(n,2)));
NSLog(@"%i",n);
}发布于 2014-05-21 04:53:39
int abs(int i)计算整数的绝对值。因此.
abs(sqrt(6*s) - 3.141592)浮点数sqrt(6*s) - 3.141592首先转换为int,当该数字的绝对值小于1时,该值即为零。
您希望使用fabs()代替。
https://stackoverflow.com/questions/23774117
复制相似问题