0 / 0 / 0
Регистрация: 05.06.2018
Сообщений: 3
|
|
Какие вопросы нужно задать, чтобы за минимальное число вопросов угадать эти числа?20.06.2019, 21:39. Показов 3648. Ответов 16
Метки нет Все метки)
(
Человек загадал 2 различных числа не выше 100. Какие вопросы нужно задать, чтобы за минимальное число вопросов угадать эти числа. Вопросы можно задать только те, на которые можно ответить "да" или "нет"
0
|
20.06.2019, 21:39 | |
Ответы с готовыми решениями:
16
Играющему нужно угадать загаданное число за минимальное количество вопросов Из банка вопросов выбрать Н вопросов для теста, так чтобы вопросы не повторялись |
20.06.2019, 21:45 | |
Nare6ator, если количество ходов не ограничено, то можно задавать вопросы типа: Одно из загаданных чисел больше 50? - Да -Одно из загаданных чисел больше 75?
И так далее
0
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
20.06.2019, 22:02 | |
tabbols95, этот алгоритм хорош для одного числа. Когда их двое, имхо, все значительно интереснее.
Но задача требует уточнения. Загаданные числа пронумерованы? То есть я могу спросить "Первое число такое-то?" Или такого типа вопросы запрещены? Второе уточнение. Загаданные числа могут быть одинаковыми? Добавлено через 1 минуту И еще вопрос. А при чем здесь Вероятность и Статистика?
1
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
21.06.2019, 09:33 | |
Прошу прощения. Не дочел.
Добавлено через 16 минут
Однако, как ни крути... Для ненумерованных чисел возможны X = Каждый вопрос разбивает на 2 области. Меньше чем 13 вопросами не обойтись Точная формула: Наименьшее целое число, большее или равное log2X Для нумерованных X надо умножить на 2, к ответу прибавить 1
1
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
10.07.2019, 22:24 | |
Нет.
Если интересно, попробуйте на 8-ми (или на 7-ми) числах. Для нумерованных чисел вариантов n*(n-1) Соответственно, log2(n*(n-1)), округленный вверх до ближайшего целого.
0
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
10.07.2019, 22:31 | |
0
|
10.07.2019, 22:41 | |
Не по теме: Ну, когда в бой вступили такие умы, простым смертным тут делать нечего! Снимаю подписку на тему и самоудаляюсь
0
|
16 / 13 / 3
Регистрация: 07.10.2016
Сообщений: 115
|
|
10.07.2019, 23:24 | |
А вопросы в духе "Первое больше чем второе" разве не сильно упрощают жизнь?
Так вопрос про 2 числа стоит.
И если числа "плотно прижаты", то может помочь) Например нашли первое -- 80 и вопрос второе больше первого? Ответ: Да. Тогда нам всего-то 20 шишек перебрать) Это тоже как некоторая эвристика логарифма.
0
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
11.07.2019, 10:40 | |
из 100. Вот это 100 я и предлагаю заменить на 8 или 7.
В задачах такого типа обычно рассчитывается худший вариант. То есть стратегия, гарантирующая успех при любом раскладе. Конечно, можно спросить - "числа равны 37 и 73?" и случайно угадать за 1 вопрос. ![]() Дело все в том, что любой вопрос разбивает множество допустимых пар на 2 множества.
1
|
134 / 47 / 11
Регистрация: 27.05.2008
Сообщений: 246
|
|
11.07.2019, 15:06 | |
С двумя числами больше свободы по вопросам, за счет того, что можно рассматривать не только взаимодействия между ними и границами, но и между ними самими.
Типа так: 1) Разность чисел больше 50? Если да, то локализуем одно из них: 2) Меньшее число меньше 25? В зависимости от этого получаем для меньшего числа интервал от 1 до 24 или от 25 до 48. Если от 25 до 48, то второе автоматически локализуется в 76-99. Дихотомией уточняем первое, потом второе (с учетом положения первого). Худший случай: первое число 1 (выясняем это за 2 приведенных выше вопроса, плюс 4 вопроса), второе еще за 5 вопросов - итого 11.
1
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
11.07.2019, 17:45 | |
Просто_Юлия, да, исхитряться можно по разному. Но того, что каждый вопрос разбивает множество возможных ответов на 2 множества, как ни крути, обойти не удастся.
Вот я и предлагаю (пост 6) построить дерево вопросов для небольшого количества чисел. И если результат (максимальная высота дерева) будет отличаться от указанного в посте 4 я буду удивлен. И буду проверять а) Ваши построения. б) свои домыслы. Именно в этом порядке ЗЫ. По поводу "к ответу прибавить 1", тут я мог и лажануться. Ведь округленный до целого логарифм может не подчиняться формуле LOG(A*B) = LOG(A) + LOG(B). Впрочем, тут надо внимательно посмотреть....
0
|
16 / 13 / 3
Регистрация: 07.10.2016
Сообщений: 115
|
|
11.07.2019, 19:18 | |
А вопросы в духе "Первое больше чем второе" разве не сильно упрощают жизнь?
Так вопрос про 2 числа стоит...!
Не надо сейчас строить общих теорий
![]() Добавлено через 9 минут Если следовать исходному сообщению о вопросе -- всё сильно зависит от уже имеющихся данных и нужно смотреть будет ли выгоден этот 1 вопрос или нет. И варианты возможны разные. Ну, асимптотически 1 вопрос погоду не сделает. Тогда замените сразу на 2 ,т.е. натуральные числа не большие двух. ![]()
0
|
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
11.07.2019, 19:59 | |
Нет тут ничего. Отсюда поток фантазий и вопросов. Постановка вопроса вида “нарисуйте мне машину“.
Это зависит от допустимой сложности вопроса и вида числа. Разве не любой вопрос можно сформулировать так чтобы ответ был да\нет?…
0
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
11.07.2019, 23:30 | |
Не надо, значит - не надо. Решайте конкретную задачу. Стройте дерево вопросов. Для конкретной задачи. Когда устанете - на мою помощь не рассчитывайте. Я все сказал, что мог.
Еще раз повторить? Но я опять скажу тоже самое. Так что в повторении нет никакого смысла. Да и быть не может! Вы как всегда смотрите в корень. Про "поток" - это отдельный разговор. Вы не так уж ошибаетесь. Ибо любое дерево можно преобразовать в бинарное. Но это совсем другой разговор. Согласен на все 100. Добавлено через 3 минуты Вот хороший пример. Вопрос - "Какие числа загаданы?" И все ключи вам в руки! ![]() Добавлено через 1 час 26 минут [ Не по теме: quote="Tetroghon;13712609"]И если числа "плотно прижаты", то может помочь[/quote]Когда меня учили англицкому, такая история излагалась. Какие-то страшные воины напали на Лаконию и сказали: "if (вы не сдадитесь) мы изнасилуем всех ваших жен ... (и так далее)". Лаконяне ответили просто - "if"
0
|
![]() ![]() |
|
12.07.2019, 01:21 | |
Логично. А то строить дерево для 4950 листьев никто не будет.
Числа от 1 до 8. x>y. Геометрически, в системе координат XOY это точки внутри прямоугольного треугольника с вершинами (2;1), (8;1) и (8;7). 28 точек. Вопросы будут 4-х видов: Большее из двух чисел (т.е. х)<=... ? Меньшее из двух чисел (т.е. y)<=... ? x+y<=... ? x-y<=... ? Ответ на каждый вопрос делит прямоугольный треугольник на два равных прямоугольных треугольника проведением высоты на гипотенузу и вопрос относится к тому, с какой стороны от этой высоты лежит точка с координатами (x;y) (при равенстве на самой высоте). .... начал был строить само дерево... долго всё это расписывать. Да и ТС как-то самоустранился.
1
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
12.07.2019, 10:17 | |
В самом деле любой вопрос можно свести к виду
"Будет ли решением одна из пар ... (перечисление)?" Некоторые вопросы такого вида можно задать в более короткой форме типа "Большее из двух чисел (т.е. х)<=... ?", но это совсем не обязательно. del
0
|
12.07.2019, 10:17 | ||||||
Помогаю со студенческими работами здесь
17
Имеются числа 1, 5, 25, 625. необходимо определить какое минимальное кол-во чисел нужно использовать, чтобы собрать введенное число
Загадано целое число из интервала [A,B]. Написать программу, которая за минимальное число вопросов отгадает это число
Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
|
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
|
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
|
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
|
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
|
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели.
Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
|
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка:
«Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
|
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
|
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
|
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
|