32 lines
523 B
Text
32 lines
523 B
Text
/* Monte Carlo methods, in Jsish */
|
|
function mcpi(n) {
|
|
var x, y, m = 0;
|
|
|
|
for (var i = 0; i < n; i += 1) {
|
|
x = Math.random();
|
|
y = Math.random();
|
|
|
|
if (x * x + y * y < 1) {
|
|
m += 1;
|
|
}
|
|
}
|
|
|
|
return 4 * m / n;
|
|
}
|
|
|
|
if (Interp.conf('unitTest')) {
|
|
Math.srand(0);
|
|
; mcpi(1000);
|
|
; mcpi(10000);
|
|
; mcpi(100000);
|
|
; mcpi(1000000);
|
|
}
|
|
|
|
/*
|
|
=!EXPECTSTART!=
|
|
mcpi(1000) ==> 3.108
|
|
mcpi(10000) ==> 3.1236
|
|
mcpi(100000) ==> 3.13732
|
|
mcpi(1000000) ==> 3.142124
|
|
=!EXPECTEND!=
|
|
*/
|