Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 09.05.2008, 23:49
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 26  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Но от первого хода игрокак зависит, сколько у ведущего будет вариантов выбора. Ты сейчас пытаешься доказать, что 2+2 не равно 4. Задача доказана.
Я тебе даже программу написал
Код:
var winChange:Number = 0;
var winNoChange:Number = 0;
function run (test) {
	//// формируем игровую ситуацию
	var cx:Number = 6;
	var door:Array = new Array ('.', '.', '.');
	var car:Number = Math.random () * 3 >> 0;
	door[car] = '8';
	//// делаем случайный выбор
	var vote1:Number = Math.random () * 3 >> 0;
	//// выбор делает ведущий
	if (car == vote1) {
		var progress:Array = new Array (1, 2, 3);
		progress.splice (car, 1);
		var temp:Number = Math.random () * 2 >> 0;
		var voteYacuboch:Number = progress[temp];
	} else {
		var voteYacuboch:Number = cx - car - vote1 - 2;
	}
	if (test) {
		//// тестовый заход
		//// выводим состояние за дверьми "." - козел, "8" - машина
		//// выводим номер двери, которую выбрал игрок (1-3)
		//// выводим дверь, которую выбрал ведущий, она не когда не равна машине, поэтому выодим всегда false
		trace (door.join ("") + " " + (vote1 + 1) + " " + voteYacuboch + "  " + (car == voteYacuboch));
	} else {
		if (vote1 == car) {
			//// подсчитываем количество побед при упрямстве
			winNoChange++;
		} else {
			//// подсчитываем количество побед при смене двери
			winChange++;
		}
	}
}
var len:Number = 10;
//// тестовые запуски, чтобы показать, что все работает
for (var i:Number = 0; i < len; i++) {
	run (true);
}
trace ("------------");
//// теперь идем на серьезно дело около 100000 повторов
len = 100000;
for (var i:Number = 0; i < len; i++) {
	run ();
}
//// тперь выводим вероятность
trace (winChange / len + "  " + winNoChange / len);
результаты трех запусков
Код:
0.66666  0.33334
0.66936  0.33064
0.66568  0.33432
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Создать новую тему   Часовой пояс GMT +4, время: 13:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.