2
モンテカルロシミュレーションを使ってPiを推定するためにこのコードを書いていますが、反復の量に関係なく結果は常に2.0前後です。おそらく、Math.random()は動作していないと思う。 コードは、ノードv7.5.0を使用してMac OS Sierraで実行されます。Node.js Math.random()が動作しない
アイデア?
// Begin of code
iterations = 100000000;
in_circle = 0;
function find_pi(){
for (i = 0; i < iterations; i++){
x = 1 - 2 * Math.random();
y = 1 - 2 * Math.random();
if ((x^2 + y^2) < 1)
in_circle++;
}
console.log("in_circle = ", in_circle);
console.log("iterations = ", iterations);
console.log("Estimated PI Value = ", 4 * in_circle/iterations);
}
var startTime = Date.now();
find_pi();
var endTime = Date.now();
console.log("\n===== Took us: " + (endTime - startTime) + " milliseconds");
エクセレント:あなたがこれを行う場合は、正しくπ≈3.14を推定します!ありがとう! –