Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use warnings;
- # A harom fuggony mogott egyelore nincs semmi
- our %harom_fuggony = (
- 1 => "",
- 2 => "",
- 3 => "",
- );
- # Ezek mutatjak, hogy hanyszor nyertem osszesen:
- my $nyer_kitarto = "0";
- my $nyer_valtoztat = "0";
- # ismeteljuk meg a kiserletet 2oooox
- for (my $i = 0; $i < 200000 ; $i ++){
- # Elhelyezzuk a szajret a fuggonyok mogott
- &elhelyezes();
- # kivalasztunk veletlenul egy poziciot
- my $valasztas = &valasztas();
- # segitsegkent az egyik ajtot kinyitjuk, ami mogott kecske van
- my $help = &help($valasztas);
- # megvaltoztatjuk a velemenyunket:
- my $ujvalasztas = "";
- for (0..2){
- unless (($_ == $help) or ($_ == $valasztas)){
- $ujvalasztas = $_;
- }
- }
- # kinyitjuk az ajtot, megnezzuk, hogy nyertunk-e, ha kitartoak voltunk
- if ($harom_fuggony{$valasztas} eq "kocsi"){
- $nyer_kitarto++;
- }
- # kinyitjuk az ajtot, megnezzuk, hogy nyertunk-e, ha meggondoltuk magunkat
- if ($harom_fuggony{$ujvalasztas} eq "kocsi"){
- $nyer_valtoztat++;
- }
- }
- # Kiszamoljuk, hogy mikor jartunk jobban:
- print "Kitarto vagyok: ", $nyer_kitarto/200000*100,"% az eselyem.\n";
- print "Okos vagyok: ", $nyer_valtoztat/200000*100,"% az eselyem.\n";
- # Valasztas utan, a maradek kettokozul kivalasztjuk azt a fuggonyt, ami mogott kecske van.
- sub help {
- my $valasztas = $_[0];
- my @sor = ();
- for (my $i = 0; $i < 3; $i ++){
- if ($i == $valasztas){
- next;
- }
- elsif($harom_fuggony{$i} eq "kocsi"){
- next;
- }
- elsif($harom_fuggony{$i} eq "kecske"){
- push(@sor, $i);
- }
- }
- my $range = scalar(@sor);
- return $sor[int(rand($range))];
- }
- # Veletlenszeruen kivalasztuk a 3 fuggony egyiket
- sub valasztas {
- my $range = 3;
- return int(rand($range));
- }
- # Veletlenszeruen kiosztjuk a kecskeket es a kocsit a fuggonyok mogott.
- sub elhelyezes {
- my $range = "3";
- my $kocsi_poz = int(rand($range));
- for (my $pos = 0 ; $pos < 3 ; $pos ++){
- if ($kocsi_poz == $pos){
- $harom_fuggony{$pos} = "kocsi";
- }
- else {
- $harom_fuggony{$pos} = "kecske";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement