当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 外星人计算pi
帖子发表于 : 2007-10-01 15:16 

注册: 2007-07-02 8:39
帖子: 24
送出感谢: 0 次
接收感谢: 0 次
请问该代码是通过什么原理计算pi值的?
代码:
#!/usr/bin/python
def pi():
   a=10000
   c=50960
   e=0
   f=[a/5]*(c+1)
   while c>50000:
      d=0
      g=c*2
      b=c
      while 1:
         d+=f[b]*a
         g-=1
         d,f[b]=divmod(d,g)
         g-=1
         b-=1
         if b==0:break
         d*=b
      c-=14
      print str(e+d/a).zfill(4),
      e=d%a
   return
if __name__ == '__main__':
   pi()

$ ./pi.py
3141 5926 5358 9793 2384 6264 3383 2795 0288 4197 1693 9937 5105 8209 7494 4592 3078 1640 6286 2089 9862 8034 8253 4211 7067 9821 4808 6513 2823 0664 7093 8446 0955 0582 2317 2535 9408 1284 8111 7450 2841 0270 1938 5211 0555 9644 6229 4895 4930 3819 6442 8810 9756 6593 3446 1284 7564 8233 7867 8316 5271 2019 0914 5648 5669 2346 0348 6104 5432


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-10-02 0:30 
头像

注册: 2006-05-03 0:39
帖子: 8273
地址: المريخ
送出感谢: 0 次
接收感谢: 1
虽然没看内容,不过直觉告诉我,原理就是数学上的某个

引用:
pi的展开式


_________________
PHP是最好的语言!不服来战!


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-10-22 19:28 
头像

注册: 2007-04-23 17:40
帖子: 659
送出感谢: 0 次
接收感谢: 0 次
π的展开式???
看来数学是基础啊。。。


_________________

吾生也有涯,而知也无涯,以有涯随无涯,SB啊~~~~~~~~~~


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-10-22 23:45 

注册: 2005-10-15 18:20
帖子: 309
送出感谢: 0 次
接收感谢: 0 次
:D
祖冲之看到这个,一口血喷死...........


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-11-05 21:16 
头像

注册: 2005-08-22 14:05
帖子: 1743
地址: 离开北京
送出感谢: 1
接收感谢: 3
f(1)=1
f(n+1)=f(n)*n/(2*n+1)
PI/2=f(1)+f(2)+f(3)+.....+f(n)
n->无穷大。

PI={f(1)+f(2)+f(3)+.....+f(n)}*2


_________________
错过好多好贴,没占到广告位后悔啊


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-11-05 21:21 
头像

注册: 2005-08-22 14:05
帖子: 1743
地址: 离开北京
送出感谢: 1
接收感谢: 3
c语言的

#include <stdio.h>
long a=10000,b,c=2800,d,e,f[2801],g;
int main(){
while(b-c)
f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%04d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}

还有一个无法形容的bb
bt 的宏+bt的算法
代码:
Here's another good one:

/*
 * Program to compute an approximation of pi
 * by Brian Westley, 1988
 * (requires pcc macro concatenation; try gcc -traditional-cpp)
 */

#define _ -F<00||--F-OO--;
int F=00,OO=00;
main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
{
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_
}


_________________
错过好多好贴,没占到广告位后悔啊


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-11-06 11:51 

注册: 2007-11-02 10:16
帖子: 20
送出感谢: 0 次
接收感谢: 0 次
不是有一个一行代码算pi的程序的吗?比这个还外星人。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译