Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
27
Task/Monty-Hall-problem/Perl/monty-hall-problem.pl
Normal file
27
Task/Monty-Hall-problem/Perl/monty-hall-problem.pl
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#! /usr/bin/perl
|
||||
use strict;
|
||||
my $trials = 10000;
|
||||
|
||||
my $stay = 0;
|
||||
my $switch = 0;
|
||||
|
||||
foreach (1 .. $trials)
|
||||
{
|
||||
my $prize = int(rand 3);
|
||||
# let monty randomly choose a door where he puts the prize
|
||||
my $chosen = int(rand 3);
|
||||
# let us randomly choose a door...
|
||||
my $show;
|
||||
do { $show = int(rand 3) } while $show == $chosen || $show == $prize;
|
||||
# ^ monty opens a door which is not the one with the
|
||||
# prize, that he knows it is the one the player chosen
|
||||
$stay++ if $prize == $chosen;
|
||||
# ^ if player chose the correct door, player wins only if he stays
|
||||
$switch++ if $prize == 3 - $chosen - $show;
|
||||
# ^ if player switches, the door he picks is (3 - $chosen - $show),
|
||||
# because 0+1+2=3, and he picks the only remaining door that is
|
||||
# neither $chosen nor $show
|
||||
}
|
||||
|
||||
print "Stay win ratio " . (100.0 * $stay/$trials) . "\n";
|
||||
print "Switch win ratio " . (100.0 * $switch/$trials) . "\n";
|
||||
Loading…
Add table
Add a link
Reference in a new issue