又双叒一个问题
本帖最后由 乐瑜 于 2020-12-14 07:02 编辑我的结果是2.0000.<-,<-
之前没注意到没有放公式,公式如下所示。我是从1/3开始找的规律。
/*根据以下公式求出pi的值并输出(要求满足精度0.0005,即某项小于0.0005时停止迭代)
pi/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+(1*2*3*4)/(3*5*7*9)+...+(1*2*...*n)/(3*5*...*(2*n+1))
*/
#include<stdio.h>
void main()
{
int n,m,i,s;
double sum,pi;
n=1;m=1;sum=1;i=1;
while(s>0.0005){
n*=i;
m*=((i+1)*2-1);
s=n/m;
sum+=s;
i++;
}
pi=2*sum;
printf("%.4lf",pi);
}
变量全改double试试 Cute_Traver_Cat 发表于 2020-12-13 20:39
变量全改double试试
全改成double也是2.0000 int n, m, i;
double sum, pi,s;
n = 1; m = 1; sum = 1; i = 1;
s = 1;
while (s > 0.0005) {
n *= i;
m *= ((i + 1) * 2 - 1);
s =(double) n / m;
sum += s;
i++;
}
pi = 2 * sum;
printf("%.4lf", pi);
我稍微改动了下,反正结果不是2{:10_245:} 看看 4goodworld 发表于 2020-12-13 21:56
我稍微改动了下,反正结果不是2
感觉这个结果差不多诶,谢谢啦
页:
[1]