乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CICC科普欄目|求圓周率的幾種算法

       昵稱m5Gu5 2019-08-09

      圓周率大家都不陌生,最早由歐幾里德《幾何原本》中提到圓周率是常數(shù),第一個(gè)用尋求圓周率數(shù)值的人是阿基米德,中國(guó)數(shù)學(xué)家劉徽,和后來大名鼎鼎的祖沖之分別對(duì)圓周率進(jìn)行了計(jì)算,從古到今對(duì)圓周率的計(jì)算方法有幾十種。

      下面就介紹幾種求圓周率的方法:

      1.隨機(jī)投點(diǎn)法(蒙特卡洛算法)

       這是粗略的求圓周率一種常用算法

      在(0,0)和(1,1)范圍內(nèi)隨機(jī)投test_sum個(gè)點(diǎn),如果落到圓內(nèi),hit_sum數(shù)量加1,最后用hit_sum/test_sum算出落在圓內(nèi)的概率,

      由得圓周率 PI=hit_sum / test_sum * 4

      public class PI {

      public static void main(String[] args) {

      int test_sum = 1000000;// 投的點(diǎn)數(shù)

      int hit_sum = 0;// 投中的個(gè)數(shù)

      double x, y;// x和y坐標(biāo)點(diǎn)

      for (int i = 0; i < test_sum; i++) {

      // 隨機(jī)得到一個(gè)坐標(biāo)

      x = Math.random();

      y = Math.random();

      if (x * x + y * y <= 1)// 判斷擲入的這個(gè)點(diǎn)在不在在圓內(nèi)

      hit_sum++;

      }

      // 統(tǒng)計(jì)得到π的值

      double pi = (double) hit_sum / test_sum * 4;

      System.out.println('π的結(jié)果為:' + pi);

      }

      }

      隨機(jī)測(cè)試的幾次結(jié)果:

      π的結(jié)果為:3.140336

      π的結(jié)果為:3.141012

      π的結(jié)果為:3.141396

      2.公式法

      圓周率的公式特別多,介紹其中一個(gè)

      這是一個(gè)迭代過程,code很容易,直接貼代碼了

      public class PI {

      public static void main(String[] args) {

      double my_pi = 2;

      int _jingdu = 1000;//精度控制

      for (int i = _jingdu; i > 0; i--) 

      my_pi = my_pi * i / (2 * i + 1) + 2;

      System.out.println(my_pi);

      }

      }

      輸出結(jié)果:3.141592653589793

      3.蒲豐投針

      這一方法的步驟是:

        1) 取一張白紙,在上面畫上許多條間距為d的平行線。

        2) 取一根長(zhǎng)度為l(l<d) 的針,隨機(jī)地向畫有平行直線的紙上擲n次,觀察針與直線相交的次數(shù),記為m

        3)計(jì)算針與直線相交的概率.

        18世紀(jì),法國(guó)數(shù)學(xué)家蒲豐和勒可萊爾提出的“投針問題”,記載于布豐1777年出版的著作中:“在平面上畫有一組間距為d的平行線,將一根長(zhǎng)度為l(l<d)的針任意擲在這個(gè)平面上,求此針與平行線中任一條相交的概率?!辈钾S本人證明了,這個(gè)概率是 p=2l/(πd)  π為圓周率。

      這個(gè)方法真是不可思議,感興趣的朋友可以模擬一下。

      證明:http://files.cnblogs.com/ysjxw/蒲豐投針與蒙特卡洛模擬.pdf

      福利:四行代碼計(jì)算圓周率800位的怪異程序

      #include 

      #include 

      int a=10000, b, c=2800, d, e, f[2801], g; 

      main() 

      for(;b-c;) 

      f[b++]=a/5; 

      for(;d=0,g=c*2;c-=14,printf('%.4d',e+d/a),e=d%a) 

      for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b); 

      return 0; 

      ————

      編輯 ∑Gemini

      來源:CSDN

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多