Monty Hall problem: Difference between revisions
Content deleted Content added
added Ursala |
|||
Line 1,206:
Estimate: 4960/10000 wins for 'picking anew' strategy
Of course, this challenge could also be tackled by putting up a GUI and letting the user be the source of the randomness. But that's moving away from the letter of the challenge and takes a lot of effort anyway...
=={{header|Ursala}}==
This is the same algorithm as the Perl solution. Generate two lists
of 10000 uniformly distributed samples from {1,2,3}, count each
match as a win for the staying strategy, and count each non-match as a win
for the switching strategy.
<lang Ursala>
#import std
#import nat
#import flo
rounds = 10000
car_locations = arc{1,2,3}* iota rounds
initial_choices = arc{1,2,3}* iota rounds
staying_wins = length (filter ==) zip(car_locations,initial_choices)
switching_wins = length (filter ~=) zip(car_locations,initial_choices)
format = printf/'%0.2f'+ (times\100.+ div+ float~~)\rounds
#show+
main = ~&plrTS/<'stay: ','switch: '> format* <staying_wins,switching_wins>
</lang>
Output will vary slightly for each run due to randomness.
<pre>
stay: 33.95
switch: 66.05
</pre>
=={{header|Vedit macro language}}==
|