乐瑜 发表于 2020-12-13 20:35:39

又双叒一个问题

本帖最后由 乐瑜 于 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);
}

Cute_Traver_Cat 发表于 2020-12-13 20:39:27

变量全改double试试

乐瑜 发表于 2020-12-13 21:09:47

Cute_Traver_Cat 发表于 2020-12-13 20:39
变量全改double试试

全改成double也是2.0000

4goodworld 发表于 2020-12-13 21:56:23

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:}

满不懂 发表于 2020-12-13 22:03:18

看看

乐瑜 发表于 2020-12-14 07:05:20

4goodworld 发表于 2020-12-13 21:56
我稍微改动了下,反正结果不是2

感觉这个结果差不多诶,谢谢啦
页: [1]
查看完整版本: 又双叒一个问题