高分求SUPER-PI或类似于它的计算PI值的DELPHI或PASCAL源程序,可以算出小数点后几百万位的。(300分)

  • 主题发起人 主题发起人 weiliu
  • 开始时间 开始时间
这个是数学家的问题。一般的算法可以达到几百万位,不可能吧
 
1 2 3 k
pi = 2 + --- * (2 + --- * (2 + --- * (2 + ... (2 + ---- * (2 + ... ))...)))
3 5 7 2k+1
 
to kinneng:
你的那些公式我在网上也能搜索到,但是怎么转化为编程我就不清楚了,因为按普通的算法,电脑的精度只有小数点后十几位而已。怎么自己编程处理小数点后的几百万位呢,自己如何编写这样的大数组的四则运算呢?我头疼中.........
 
递归到一定程度,先缓存出来,再...
 
这在数学上好像称为大数,记得我大学时有个同学做过,但忘记算法了,可以查长计算方法等资料看看怎么样计算。
 
参考一下这个吧:
http://www.jason314.com/palgorithm.htm
内链接有一个源码链接
 
to xxhadsg,
那些我也看过,不想动脑筋了,没有办法人懒。
麻烦各位给做一个,最好跟SUPER PI一样能算到小数点后3200万位的,可以像它一样可以选择计算多少位的。
本人另外开贴送500分。
 
肯定不能靠delphi和cpu的数学处理器,拿东西连M$的计算器也不如,具体代码没研究,用数组来保存每一位,用循环迭代来计算,递归可能有堆栈问题,我不清楚,还是等待高人吧,网上有C的例子,很简单的,可以转换一下。
 
楼上说不能靠delphi?
我对此表示不理解,有人拿BASIC,还是DOS的,都能做出几万位的PI运算。
 
是“不能靠delphi和cpu的数学处理器”,delphi也在用cpu的硬件来计算,靠它的精度也就几十个二进制位,理解了吗?
 
楼上的,你的说法还不够准确,说寄存器的精度还差不多。
另外,那个大数运算的问题实在头痛。。。。。
 
CPU寄存器与CPU协处理器的精度是两件事,CPU的寄存器更垃圾,就一个整数而已,CPU协处理器支持浮点
 
CPU寄存器与CPU协处理器的精度是两件事,CPU的寄存器更垃圾,就一个整数而已,CPU协处理器支持浮点
 
x86处理器在进行双精度浮点运算时采用了80 bit浮点寄存器,但是我们现在讨论的是大数运算,这种运算方式用不用浮点寄存器还值得怀疑。
 
是不是可以这么考虑先怎么算出x/y 的准确值
 
我倒是做过一个理论上无限位的PI运算.我用的方式是把浮点数转换成大整数数组.
 
down.csdn.net里有一个。
 
楼上的,我没有找到,能给个具体的链接地址吗?
 
这种计算超出硬件能力,肯定要用数组来保存,用自己的软件算法来计算,以前在Basic计
算PI,是用String来保存,本身长度有限,电脑的速度也慢,CPU是8088,现在的String可以保存2G大小,速度也快。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部