Об игре
Новости
Войти
Регистрация
Рейтинг
Форум
11:44
4271
 online
Требуется авторизация
Вы не авторизованы
   Форумы-->Форум для внеигровых тем-->
1|2

АвторМатематикам)
Я загадал число от 1 до 1000.

Чтобы отгадать число, можно задать вопросы. Но, вместо ответа на вопрос, после трёх вопросов, я называю только суммарное количество вопросов, на которые ответ "да" и суммарное количество вопросов на которые ответ "нет.

Если число после первого ответа не известно, то можно задать ещё три вопроса. И так далее, пока не будет известно загаданное число.

Какое минимальное количество моих ответов потребуется, чтобы узнать число, которое я загадал?
Ты скажи сколько заплатишь за верный ответ!
42
Метод половинного деления, 10 шагов и мы находим число. Но надо удвоить, так как придётся на каждом шаге узнавать сначала равно ли число половине, а потом меньше оно половины или нет, так что максимум 20 вопросов.
Типа:
1) это 500?
2) это меньше 500?
3) это 250?
4) это меньше 250?
Понятно что меньше и больше в зависимости от да/нет будут появляться в четных вопросах
для Эникейщик:
Не)

Например:
первые три вопроса.
Число равно 1?
Число равно 2?
Число равно 3?

Я пишу: число верных ответов - 0. Число неверных ответов - 3.

Сколько минимум моих ответов потребуется, чтобы точно узнать число при любых раскладах (какое бы я число не загадал).
для Я_Недобитый:
Я пишу: число верных ответов - 0. Число неверных ответов - 3.
Тогда я угадаю это мелодию за 60 вопросов
1) это 500?
2) это 500?
3) это 500?
0 верных
4) это меньше 500?
5) это меньше 500?
6) это меньше 500?
0 верных
И так далее как в 4 посте, но с утроением в связи с правилами
Просто это гарантированно рабочий алгоритм, 60 шагов не много
Лень изобретать велосипед
Делим не три, т.е.
1) меньше или равен 333?
2) меньше или равен 666?
3) меньше или равен 999?

Если 3 верных ответа то ответ от 1 до 333, если 2 верных то от 334 до 666, если 1 то 667-999 и 0 это 1000

Каждый следующий шаг то же самое в сокращенном кол-ве чисел (1-111, 112-222, 223-333)
Если не ошибся то за 6 шагов находим число. Скорее всего можно быстрее но Лень изобретать велосипед
Хотя ладно, оптимизация. Можно раз 3 вопроса то задавать 2 раза 1 и 1 раз второй
Тогда
1) это 500?
2) это 500?
3) это меньше 500?
По ответу понятно что сыграло что нет
Таких троек надо 10,значит 30 вопросов максимум
С делением на 3 да, быстрее
А нет, на 4 нчдо делить, так как есть 4 варианта ответа (3 верных, 2 верных, 1 верный, 0 верных) и для оптимизации все 4 должны быть задействованны.

И того 4 шага или 12 вопросов
Какое минимальное количество моих ответов потребуется
Минимальное число ответов - 1. если число угадать сразу и все три первых вопроса будут именно про него. Вот только причем тут математика?
Максимальное число ответов может стремиться к безконечности, при условии, что первый месяц будем упорно спрашивать, а не 140 ли ты загадал.
Если что тут и считать, то оптимальное количество ответов, да считать лень.
0 шаг - 1000 вариантов
1 шаг - 250 вариантов (1. >250?, 2. >500?, 3. >750?) - узнаем диапазон из 250 чисел
2 шаг - 63 варианта
3 шаг - 16 вариантов
4 шаг - 4 варианта
5 шаг - 2 варианта
6 шаг - число найдено
Итого 6 ответов
хотя не, 6 шаг не нужен. на 5 шагу число найдется. значит 5 ответов
666
<= 501?
<= 251?
<= 126?
0 да -> 501-1000
1 да -> 251-500
2 да -> 126-251
3 да -> 63-126

и т.д.
Какое минимальное количество моих ответов потребуется, чтобы узнать число, которое я загадал?
ceiling(log2(1024)) = 10
ответ задается на 3 вопроса
ceiling(10 / 3) = 4

ответ 4
ceiling(10 / 3) = 4
ошибка
3 ответа подразумевают 4 диапазона чисел
правильно будет ceiling(10 / 4) = 3

ответ 3
ceiling(log2(1024)) = 10
опечатка) но всеравно
ceiling(log2(1000)) = 10
Есть версия, но недодумал про третий вопрос.

Первые два такие:

1.Это трёхзначное число?
2. Это простое число?
Второй вопрос задаётся в случае отрицательного ответа на первый.
1 ответ. 1 раз спроси "число 1?", 2 раза "число 2?" ... 1000 раз "число 1000?". Победа.
1|2
К списку тем
2007-2024, онлайн игры HeroesWM