Monty Hall problem: Difference between revisions
Content added Content deleted
(→{{header|PL/I}}: Output?) |
Walterpachl (talk | contribs) (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 |
Switching wins 666442 times. |
||
Staying wins |
Staying wins 333558 times. |
||
REXX: 4. |
REXX: 4.321000 seconds |
||
Switching wins 665908 times. |
|||
Staying wins 334092 times. |
|||
PL/I: 0.328000 seconds |
|||
Switching wins |
Switching wins 667335 times. |
||
Staying wins |
Staying wins 332665 times. |
||
NetRexx: 2.042000 seconds |
|||
</pre> |
</pre> |
||