本帖最後由 rictirse 於 2012-11-8 15:27 編輯
[code=autoit]
#include <Timers.au3>
Dim $n = 30000;; RAND 產生亂數的次數
Dim $SUM;; 統計範圍值內次數
$starttime = _Timer_Init()
For $i = 1 To $n
$x = Random ( 0, 1)
$y = Random ( 0, 1)
If ($x*$x + $y*$y) < 1 Then $SUM += 1;; 判斷 r點是否落在 1/4 圓內,如果範圍內sum +1
Next
Const $pi = 3.14159265358979;; 宣告 pi
$Sol = (4*$SUM)/ $n ;; 計算
$ERROR = Abs (1-($pi/$Sol));; 計算誤差值
MsgBox ( 0, "蒙地卡羅法求Pi", StringFormat ( "取樣次數 = %d\n計算時間 = %dms\n正確值 = %s\n計算值 = %s\n誤差值 = %s", $n, _Timer_Diff($starttime), $pi, $Sol, $ERROR))
[/code] |