Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nuclear_Razor
49 / 2 / 0
Регистрация: 22.07.2012
Сообщений: 104
Записей в блоге: 1
#1

Общая задача по теорверу - C++

21.08.2013, 15:26. Просмотров 248. Ответов 0
Метки нет (Все метки)

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

Есть задача, имеется W белых шаров и B черных, и количество ящиков N. Далее человек вытаскивает один шар из первого ящика и перекладывает в другой и так до N, необходимо узнать вероятность того, что человек достанет либо белый либо черный шар из последнего ящика. Алгоритм по сути прост, нужно найти все вероятные гипотезы, просчитать их (общая формула - возрастающий факториал), далее найти вероятности одного из события по отношению к другим реализовавшимся гипотезам и по формуле полной вероятности получить ответ. Код показывать смысла не вижу, т.к. у меня куча проблем в его реализации. Во-первых я без понятия как записать возрастающий факториал:

C++
1
2
3
float white_n, black_n, boxes_n;
float factorial;
factorial = (2*white_n - 1)/(white_n  - 1);
Обычный ясно как в цикле от 2 (при 1 решения не существует) до N организовать перемножение
factotial *= factorial;

Но как это сделать для возрастающего?

Во-вторых. В зависимости от количества ящиков у нас меняется число гипотез, для 3 это 4 т.к. пошаговых действий два и т.д. Я так понял проще это оформить в виде матрицы, например 1 - белое, 0 - черное. Но потом каким-то образом в зависимости от расположения элементов матрицы нужно организовать построение гипотез. То-есть если берутся и перекладываются одни белые шары - то у нас просто возрастающий факториал, и т.д. По сути надо использовать формулы из комбинаторики, но как это все связать с формулами для гипотез.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 15:26     Общая задача по теорверу
Посмотрите здесь:

Теория, Общая C++
Общая программа по матрицам C++
C++ Общая ф-ция для классов
C++ Задача «Общая подпоследовательность»
C++ Потоки CWinThread. Как его сделать. Общая схема.
общая структура функции на С++ C++
C++ Наибольшая общая подстрока
Реализация задачи по ТеорВеру C++
Задача на массивы: Найти самый год, в котором общая сумма продаж фирмы была минимальной за период учета C++
Общая точка(и) пересечения 2 окружностей C++
Общая сумма положительных элементов трёх массивов C++
Списки: общая организация, основные функции C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru