Monty Hall problem: Difference between revisions

Content added Content deleted
(add NetRexx and some Output)
Line 1,975: Line 1,975:
<lang maxscript>Stay strategy:33.77%
<lang maxscript>Stay strategy:33.77%
Switch strategy:66.84%</lang>
Switch strategy:66.84%</lang>

=={{header|NetRexx}}==
<lang netrexx>/* NetRexx ************************************************************
* 30.08.2013 Walter Pachl translated from Java/REXX/PL/I
**********************************************************************/
options replace format comments java crossref savelog symbols nobinary

doors = create_doors
switchWins = 0
stayWins = 0
shown=0
Loop plays=1 To 1000000
doors=0
r=r3()
doors[r]=1
choice = r3()
loop Until shown<>choice & doors[shown]=0
shown = r3()
End
If doors[choice]=1 Then
stayWins=stayWins+1
Else
switchWins=switchWins+1
End
Say "Switching wins " switchWins " times."
Say "Staying wins " stayWins " times."

method create_doors static returns Rexx
doors = ''
doors[0] = 0
doors[1] = 0
doors[2] = 0
return doors

method r3 static
rand=random()
return rand.nextInt(3) + 1</lang>
Output
<pre>
Switching wins 667335 times.
Staying wins 332665 times.
</pre>



=={{header|OCaml}}==
=={{header|OCaml}}==
Line 2,206: Line 2,249:
End;
End;
End;</lang>
End;</lang>
Output:
<pre>
Switching wins 665908 times.
Staying wins 334092 times.
</pre>


=={{header|PostScript|Post Script}}==
=={{header|PostScript|Post Script}}==
Line 2,607: Line 2,655:
'ziegen'
'ziegen'
Say 'PL/I:' time('E') 'seconds'
Say 'PL/I:' time('E') 'seconds'
Say ' '
Call time 'R'
'java ziegen'
Say 'NetRexx:' time('E') 'seconds'
Exit
Exit
r3: Return random(2)+1</lang>
r3: Return random(2)+1</lang>
Output for 1000000 samples:
Output for 1000000 samples:
<pre>
<pre>
Switching wins 666611 times.
Switching wins 666442 times.
Staying wins 333389 times.
Staying wins 333558 times.
REXX: 4.355000 seconds
REXX: 4.321000 seconds

Switching wins 665908 times.
Staying wins 334092 times.
PL/I: 0.328000 seconds


Switching wins 667935 times.
Switching wins 667335 times.
Staying wins 332065 times.
Staying wins 332665 times.
PL/I: 0.334000 seconds
NetRexx: 2.042000 seconds
</pre>
</pre>