这个程序谁会写?

java programmer

新手上路
注册
2011-10-09
消息
12
荣誉分数
6
声望点数
0
要求:写个程序计算圆周率 Pi 的数值。越精确越好。

我有个解法。想看看有没有更好的。
 
要求:写个程序计算圆周率 Pi 的数值。越精确越好。

我有个解法。想看看有没有更好的。

任何程序语言?你全会吗?

拿这种初级问题来踢馆?大虾们有可能回应你吗?

当心小虾们拿狗狗来的东西搪塞你。
 
任何程序语言?你全会吗?

拿这种初级问题来踢馆?大虾们有可能回应你吗?

当心小虾们拿狗狗来的东西搪塞你。

那里敢踢馆。就是知道有大侠才来请教嘛。
 
估计是用Java写。

让小虾试一刀:

  class Pi {
   public static void main(String[] args){
   double pi =0; //定义初始值
   double fenZi = 4; //分子为4
   double fenMu = 1; //第一个4,可看作分母为1 的分式,以后的分母每次递增2
   for (int i = 0; i < 1000000000; i++){ //运行老久,减少循环次数会快很多,只是精确度小些
   pi += (fenZi/fenMu) ;
   fenZi *= -1.0; //每项分子的变化是+4,-4,+4,-4 ....
   fenMu += 2.0; //分母的变化是1,3,5,7, .... 每项递加2
   }
  }
 
估计是用Java写。

让小虾试一刀:

  class Pi {
   public static void main(String[] args){
   double pi =0; //定义初始值
   double fenZi = 4; //分子为4
   double fenMu = 1; //第一个4,可看作分母为1 的分式,以后的分母每次递增2
   for (int i = 0; i < 1000000000; i++){ //运行老久,减少循环次数会快很多,只是精确度小些
   pi += (fenZi/fenMu) ;
   fenZi *= -1.0; //每项分子的变化是+4,-4,+4,-4 ....
   fenMu += 2.0; //分母的变化是1,3,5,7, .... 每项递加2
   }
  }

没想到村长还是IT人士啊。不过没看懂,能不能给解释一下,为什么这样能算出来啊?
 
用祖冲之的算法 ,就是从内接六边形和外切六边形开始, 不断一拆二, 这样12边,24边就可以从两头逼近
 
double fenZi double fenMu :smoke::smoke::smoke:
 
后退
顶部