Monte Carlo methods: Difference between revisions

(Added 11l)
Line 2,565:
3.144480e+00,
3.141668e+00></pre>
 
=={{header|Wren}}==
{{trans|Kotlin}}
{{libheader|Wren-fmt}}
<lang ecmascript>import "random" for Random
import "/fmt" for Fmt
 
var rand = Random.new()
 
var mcPi = Fn.new { |n|
var inside = 0
for (i in 1..n) {
var x = rand.float()
var y = rand.float()
if (x*x + y*y <= 1) inside = inside + 1
}
return 4 * inside / n
}
 
System.print("Iterations -> Approx Pi -> Error\%")
System.print("---------- ---------- ------")
var n = 1000
while (n <= 1e8) {
var pi = mcPi.call(n)
var err = (Num.pi - pi).abs / Num.pi * 100.0
Fmt.print("$9d -> $10.8f -> $6.4f", n, pi, err)
n = n * 10
}</lang>
 
{{out}}
Sample run:
<pre>
Iterations -> Approx Pi -> Error%
---------- ---------- ------
1000 -> 3.21200000 -> 2.2411
10000 -> 3.16720000 -> 0.8151
100000 -> 3.13944000 -> 0.0685
1000000 -> 3.14048000 -> 0.0354
10000000 -> 3.14191240 -> 0.0102
100000000 -> 3.14142320 -> 0.0054
</pre>
 
=={{header|XPL0}}==
9,486

edits