求圆周率 Pi (π)值,精确到小数点后1000位 ---分不够可以再加
求圆周率 Pi (π)值,精确到小数点后1000位 问题点数:100、回复次数:8Top
1 楼loverisyour(我是民工又咋的,不能搞开发啊!)回复于 2004-12-02 17:11:13 得分 10
晕,1000位,用BigDecimal吧Top
2 楼wpx80(wpx80)回复于 2004-12-02 17:23:26 得分 10
http://www.gyx.8800.org/bbs/archive/index.php/t-116.htmlTop
3 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2004-12-02 17:33:11 得分 0
帮你看看Top
4 楼ymll1(毛毛)回复于 2004-12-02 17:35:30 得分 0
用matlab多好Top
5 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2004-12-02 17:53:25 得分 50
import java.math.*;
public class test {
public static void main(String[] args) {
StringBuffer num=new StringBuffer("");
long a=10000, b, c=28000, d, e, g;
long [] f=new long[28010];
b=0;e=0;
while(b!=c)
{
f[(int)b++] = 2000;
}
while(c!=0)
{
d=0;
g=c*2;
b=c;
while(b!=0)
{
d*=b;
d+=f[(int)b]*a;
--g;
f[(int)b] =d%g;
d/=g;
g--;
--b;
}
c-=14;
// System.out.print(e+d/a);
num.append(""+e+d/a);
e=d%a;
}
num.replace(0,2,"3.");
System.out.print(num.toString());
}
}
给你改了一下,唉,实在看不懂那个算法,效率又不如CTop
6 楼gougou606(狗狗)回复于 2004-12-02 19:03:59 得分 10
用大数字 BigDecimal
BigDecimal a=BigDecimal.valueof(PI);
NumberFormat formatter=NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(1000);
String s=formatter.format(a);Top
7 楼batfree(没有计算机的程序员)回复于 2004-12-02 19:06:35 得分 10
问一下,求圆周率的算法是什么?我只知道割圆法,还有什么更先进的方式吗?Top
8 楼drugon(更高,更远,更强)回复于 2004-12-03 10:02:22 得分 10
还得选一个比较好的算法,不然做起来很慢的。Top




