标题:关于计算圆周率π的值 程序计算是没有啥问题,但是太慢了 ,谁有更快的代码 ...
只看楼主
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
结帖率:99.76%
已结贴  问题点数:20 回复次数:14 
关于计算圆周率π的值 程序计算是没有啥问题,但是太慢了 ,谁有更快的代码吗
程序代码:
#include<stdio.h>
#include<math.h>


int main(void)
{
    double pi;
    pi=0.0;
    int i=1,j=0;
    while(1)
    {
        pi=pi+pow(-1,j)*(double)(1.0/i);
        i=i+2;
        j++;
        if((double)(1.0/i)<0.0000000001) break;
    }
    printf("pi=%.10lf",pi*4);
    return 0;
}
搜索更多相关主题的帖子: 计算 圆周率 
2012-11-23 18:35
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
对了 公式是π/4=1/1-1/3+1/5-1/7..................
用其他公式的不在此列

DO IT YOURSELF !
2012-11-23 18:36
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
这段程序所用时间是80秒左右
计算圆周率为小数点后10位


DO IT YOURSELF !
2012-11-23 18:55
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:20 
用这个公式就不可能快到哪儿去

重剑无锋,大巧不工
2012-11-23 20:02
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
哦 我还以为我代码写的笨呢
那还有啥方法求π呢

DO IT YOURSELF !
2012-11-23 20:03
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
很多,随便在个搜索引擎里输入“圆周率公式”都能找到。

这是某届国际C语言混乱代码大赛的奖作品,也是我最喜欢的一件作品。

不要纠结头文件的事,直接编译执行看看。
int a=10000,b,c=2800,d,e,f[2801],g;
main(){for(;b-c;)f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}

重剑无锋,大巧不工
2012-11-23 20:20
woxingx
Rank: 2
等 级:论坛游民
帖 子:46
专家分:68
注 册:2012-11-8
得分:0 
嗯,和楼下的想法相同
2012-11-23 20:27
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
程序代码:
#include<stdio.h>
int a=10000,b,c=2800,d,e,f[2801],g;
void main()
{
    for(;b-c;) f[b++]=a/5;
    for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
       for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}
确实很快,很快

至于原理吗 ,就不是我能想出来的 ,索性不想了

DO IT YOURSELF !
2012-11-23 20:46
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:0 
好猛

我行我乐
我的博客:
http://blog.yuccn. net
2012-11-23 20:53
ltianc
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:56
专家分:128
注 册:2012-10-16
得分:0 
回复 6楼 beyondyf
不简单呀!

世界等我去改变。
2012-11-23 22:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-388162-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.018140 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved