Monte Carlo methods: Difference between revisions

m
→‎{{header|Phix}}: added syntax colouring, marked p2js compatible
(→‎{{header|jq}}: give pc to three decimal places)
m (→‎{{header|Phix}}: added syntax colouring, marked p2js compatible)
Line 2,021:
 
=={{header|Phix}}==
<!--<lang Phix>integer N = 100(phixonline)-->
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
for i=1 to 6 do
<span style="color: #004080;">integer</span> <span style="color: #000000;">N</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">100</span>
integer inside = 0
<span style="color: #008080;">for</span> <span style="color: #000000;">i</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">6</span> <span style="color: #008080;">do</span>
for i=1 to N do
<span style="color: #004080;">integer</span> <span style="color: #000000;">inside</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">0</span>
integer x = rand(N),
<span style="color: #008080;">for</span> <span style="color: #000000;">n</span><span style="color: #0000FF;">=</span><span style="color: #000000;">1</span> <span style="color: #008080;">to</span> <span style="color: #000000;">N</span> <span style="color: #008080;">do</span>
y = rand(N)
<span style="color: #004080;">integer</span> <span style="color: #000000;">x</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">rand</span><span style="color: #0000FF;">(</span><span style="color: #000000;">N</span><span style="color: #0000FF;">),</span>
inside += (x*x+y*y<N*N)
<span style="color: #000000;">y</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">rand</span><span style="color: #0000FF;">(</span><span style="color: #000000;">N</span><span style="color: #0000FF;">)</span>
end for
<span style="color: #000000;">inside</span> <span style="color: #0000FF;">+=</span> <span style="color: #0000FF;">(</span><span style="color: #000000;">x</span><span style="color: #0000FF;">*</span><span style="color: #000000;">x</span><span style="color: #0000FF;">+</span><span style="color: #000000;">y</span><span style="color: #0000FF;">*</span><span style="color: #000000;">y</span><span style="color: #0000FF;"><</span><span style="color: #000000;">N</span><span style="color: #0000FF;">*</span><span style="color: #000000;">N</span><span style="color: #0000FF;">)</span>
?{N,4*inside/N}
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
N *= 10
<span style="color: #7060A8;">pp</span><span style="color: #0000FF;">({</span><span style="color: #000000;">N</span><span style="color: #0000FF;">,</span><span style="color: #000000;">4</span><span style="color: #0000FF;">*</span><span style="color: #000000;">inside</span><span style="color: #0000FF;">/</span><span style="color: #000000;">N</span><span style="color: #0000FF;">})</span>
end for</lang>
<span style="color: #000000;">N</span> <span style="color: #0000FF;">*=</span> <span style="color: #000000;">10</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">for</span>
end for<!--</lang>-->
{{out}}
<pre>
7,796

edits