edit · history · print

Computation of the d-th digit of PI

在通常意义上,计算PI或者log(2)需要高精度运算的支持,而且需要从头开始算.

但是这里有一个有趣的算法却可以不受前面说到的两点的限制,它可以让你从任意位数计算PI或者log(2).而效率和计算位数基本上呈线性增长.

当然了"呈线性增长"不是一个好消息,事实上这个算法的效率是非常差的就和其它传统的PI计算算法来比较.不过它的分布式的特性的确很有趣,因此在这里我写了一个程序来测试这个算法.

你可以点击 http://arc.net.cn/dl/Pi_Plouffe.tar.bz2 下载源代码, 每一个进程用于计算一部分的PI小数, 最后的结果使用sort排序后就可以得到. 同样你也可以在源代码包中找到原始的算法论文和一段PI演奏的MIDI.

下面是一次的运行结果:

000000000 <- PID -> 3234 -> [ 3.        ]
000000001 <- PID -> 3235 -> [ 141592653 ]
000000010 <- PID -> 3235 -> [ 589793238 ]
000000019 <- PID -> 3235 -> [ 462643383 ]
000000028 <- PID -> 3235 -> [ 279502884 ]
000000037 <- PID -> 3235 -> [ 197169399 ]
000000046 <- PID -> 3235 -> [ 375105820 ]
000000055 <- PID -> 3235 -> [ 974944592 ]
000000064 <- PID -> 3235 -> [ 307816406 ]
000000073 <- PID -> 3235 -> [ 286208998 ]
000000082 <- PID -> 3235 -> [ 628034825 ]
000000091 <- PID -> 3235 -> [ 342117067 ]
000000100 <- PID -> 3236 -> [ 982148086 ]
edit · history · print
网页最后更新于 2006 年 08 月 16 日, 05:42 下午