Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2018, 19:03   #1
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию Алгоритм перебора перестановок

Задачка такая: есть лотерея с выпадающими мячиками-числами. Всего мячиков - 80. Выпадает после розыгрыша - 20. Игрок может выбрать от 1го до 15 чисел. И в зависимости от количества угаданных чисел игроку начисляется выигрыш.
Интересует, какова вероятность выпадения только нескольких чисел из выбранных игроком? Например, игрок выбрал 5 чисел и каков шанс, что он угадает только 3?

Как понял, для того, чтобы посчитать вероятность угадывания конкретного числа мячиков, надо сложить вероятности угадывания всех возможных вариаций, согласно "теореме сложения вероятностей несовместных событий". Т.е. вероятность угадывания игроком 1го, 2го и 5го числа не равна вероятности угадывания 2го, 3го и 4го...
//исправляю, вероятности угадывания 1го, 2го, 5го числа и 2го, 3го и 4го равны)

Собственно, вопрос - какой алгоритм для перебора всех вариантов выбора заданного количества чисел из известного набора?
Чтоб получилось что-то в таком виде:

1 1 1 0 0
1 1 0 1 0
1 1 0 1 0
1 0 1 1 0 и т.д...

Последний раз редактировалось Smogg; 16.05.2018 в 23:41. Причина: ошибка математики
Smogg вне форума Ответить с цитированием
Старый 16.05.2018, 21:00   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Рекурсией или циклом. Исходная перестановка 1 1 1. Добавляй четвертый 0 во все возможные места. Для каждой из полученной - 5-ый ноль во все возможные. И т.д. Само собой факториал всплывет, так что острожно если не 5, а 15 например))

Можно еще тасовать 1 1 1 0 0, когда каждый элемент меняется местами со всеми другими с контролем на повторы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 16.05.2018 в 21:06.
Аватар вне форума Ответить с цитированием
Старый 16.05.2018, 21:04   #3
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Спасибо) Просто и со вкусом)
Smogg вне форума Ответить с цитированием
Старый 17.05.2018, 11:41   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

По моему вероятность того, что из 5 совпадет ровно 3 без всяких переборов перестановок равна
Изображения
Тип файла: jpg Безымянный.jpg (5.9 Кб, 64 просмотров)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 17.05.2018 в 11:48.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм перестановок ArtGhost Помощь студентам 2 19.10.2013 10:56
Подскажите плз алгоритм перебора всех перестановок megabax Общие вопросы по программированию, компьютерный форум 2 14.10.2013 23:53
Алгоритм перестановок Pirotexnik Visual C++ 0 05.12.2011 13:08
Алгоритм перебора символов Fog Общие вопросы C/C++ 6 27.09.2010 21:48
Алгоритм перебора (Delphi) Air Помощь студентам 11 20.07.2008 20:28