Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Игры » Форумные игры » Задачки, головоломки

Модерирует : Cossack, RapSoldier, VdV

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

evle



1 + int rand(100);
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

use warnings;
use strict;
 
#
#    rounds, doors, change
#
sub test($$$) {
    my $rounds = shift;
    my $doors = shift;
    my $change = shift;
    my @car;
    my @case;
    my @presenter;
    my @case2;
    my @stat = ();
    for (my $i = 0; $i <= $rounds; $i++) {
        my $car = int(rand($doors)) + 1;
        $car[$car]++;
        my $case = int(rand($doors)) + 1;
        $case[$case]++;
        my $presenter;
        $presenter = int(rand($doors)) + 1;
        $presenter = int(rand($doors)) + 1 while (($presenter == $car) || ($presenter == $case));
        $presenter[$presenter]++;
        my $case2;
        if ($change) {
            $case2 = int(rand($doors)) + 1;
            $case2 = int(rand($doors)) + 1 while (($case2 == $case) || ($case2 == $presenter));
        } else {
            $case2 = $case;
        }
        $case2[$case2]++;
        my $won = $case2 == $car;
        $stat[$change]++ if $won;
        #print "$i: $car $case $presenter $case2 $won\n";
        #print "$i: Машина в $car; первый выбор $case; открыта $presenter; выбор " .  
        #    ($change ? "изменён" : "не изменён") . "; в итоге выбрана $case2; " .  
        #    ($won ? "победа" : "поражение") . ".\n";  
    }
    print "Проведено $rounds экспериментов. В каждом выбор " .  
        ($change ? "изменён" : "не изменён")  .  
        ".\n Число побед: $stat[$change]\n\n";
    print "Машина: \t" . join(', ', @car[1..3]) . "\n";
    print "Первый выбор: \t" . join(', ', @case[1..3]) . "\n";
    print "Ведущий: \t" . join(', ', @presenter[1..3]) . "\n";
    print "Второй выбор: \t" . join(', ', @case2[1..3]) . "\n";
    print "\n\n";
}
 
test(100000, 3, 1);
test(100000, 3, 0);

Всего записей: 2110 | Зарегистр. 03-02-2005 | Отправлено: 20:14 18-09-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Игры » Форумные игры » Задачки, головоломки


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru