Monty Hall problem: Difference between revisions

→‎{{header|PureBasic}}: corrected trial count and results (results now = 100%)
(→‎{{header|AutoHotkey}}: Fixed AHK output (it was only run for 100 when I added the output))
(→‎{{header|PureBasic}}: corrected trial count and results (results now = 100%))
Line 1,080:
 
=={{header|PureBasic}}==
<lang PureBasic>ProcedureStructure MontyHall(Redecide)wins
stay.i
redecide.i
EndStructure
 
Procedure MontyHall(*results.wins)
Dim Doors(2)
Doors(Random(2)) = 1
Open = Doors(0)
ProcedureReturn*results\stay + Doors(2)
If Redecide
*results\redecide ProcedureReturn+ Doors(1 - Open)
EndIf
ProcedureReturn Doors(2)
EndProcedure
 
OpenConsole()
#Tries = 1000000
Define results.wins
 
For Ii = 01 To #Tries
Win1 + MontyHall(1@results)
Win2 + MontyHall(0)
Next
 
PrintN("Trial runs for each option: " + Str(#Tries))
PrintN("Wins when redeciding: " + Str(Win1results\redecide) + " (" + StrD(Win1results\redecide / #Tries * 100, 2) + "% chance)")
PrintN("Wins when sticking: " + Str(Win2results\stay) + " (" + StrD(Win2results\stay / #Tries * 100, 2) + "% chance)")
Input()</lang>
</lang>
 
Output:<pre>Trial runs for each option: 1000000
Wins when redeciding: 666425666459 (66.6465% chance)
Wins when sticking: 331930333541 (33.1935% chance)</pre>
 
=={{header|Python}}==
Anonymous user