Название: Кто быстрее отгадает задуманное число? Отправлено: Smith от Март 22, 2010, 23:17:43 Я когда-то загадывал эту задачу, но возможно тогда она была не ко времени, хотя попытки ее решить были и отчасти даже удавшиеся. Познакомился я с этой задачей на математической олимпиаде для 5 класса (по крайней мере с первой частью задачи). Ответ (минимальный) на вторую часть пришел лично ко мне много позже и после значительных усилий по его поиску. Мне эта задача нравится сочетанием простоты и сложности одновременно, поэтому решился выложить ее повторно.
Задача формулируется примерно так: Я задумал число от 1 до 1000. Вопросов два: 1)За какое минимальное количество ходов вы сможете его отгадать задавая мне вопросы, на которые я буду отвечать только "да" или "нет"? 2)тот же вопрос, только теперь я имею право 1 раз солгать. Удачи. Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Lkob от Март 22, 2010, 23:23:49 Первое - понятно. Т.е. Это число больше/меньше 500. Далее (к примеру было меньше) - тогда больше/меньше, чем 250 и т.д.
Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Smith от Март 22, 2010, 23:31:06 Первое - понятно. Т.е. Это число больше/меньше 500. Далее (к примеру было меньше) - тогда больше/меньше, чем 250 и т.д. можно так. хотя нужно очень осторожно, т.к. только при правильном делении получается 10. можно проще, но как для первого вопроса - не принципиально. зато если найти другое решение для 1 вопроса - проще будет с решением 2 вопроса. Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Maxonya от Март 24, 2010, 19:24:37 А может быть еще на четное-нечетное ориентироваться?
Название: Re: Кто быстрее отгадает задуманное число? Отправлено: buka от Март 24, 2010, 23:12:22 А может быть еще на четное-нечетное ориентироваться? Мне этот подход нравится больше. Особенно, если требуется исправить один ложный ответ. В принципе больше-меньше эквивалентно (по сути и тот и другой подходы определяют биты двоичного представления числа - больше-меньше нацинает со старшего бита, чёт-нечёт - с младшего)Итак чёт-нечёт: 1) Число чётное? 2) Его целочисленная половина - чётна? 3) Целочисленная четверть - чётная? и т.д. для 1/8, 1/16, ..., 1/512... Так мы получим 10 бит, но 1 может быть ложным. Требуется ещё 5 вопросов: 11) Первые 10 ответов правдивы? 12) Первые 5 ответов и 11 - правдивы? 13) Ответы 1,2,3,6,7 и 12 - правдивы? 14) Ответы 1,2,6,8,9 и 13 - правдивы? 15) Ответы 1,3,5,7,9 и 14 - правдивы? В принципе, если не требуется зафиксировать двойную ложь, то можно не включать в вопросы "и 12", "и 13" и т.д. Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Хэлл от Март 25, 2010, 02:59:41 Да просто задавать один и тотже вопрос два раза, а если получится разногласие, то задать на этом числе и третий раз ))
Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Lkob от Март 25, 2010, 03:12:40 //скрытый текст, требуется сообщений: 213//
Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Lkob от Март 25, 2010, 03:13:58 //скрытый текст, требуется сообщений: 213//
Название: Re: Кто быстрее отгадает задуманное число? Отправлено: buka от Март 25, 2010, 03:32:42 Да просто задавать один и тотже вопрос два раза, а если получится разногласие, то задать на этом числе и третий раз )) Наша задача - задать минимум вопросов.Ваш же подход требует как минимум 2*log2N вопросов для числа N Мы же оцениваем число вопросов в log2N + log2(log2N) Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Lkob от Март 25, 2010, 03:36:26 Оптимальный алгоритм - решить уравнение:
//скрытый текст, требуется сообщений: 213// А дальше задавать нужные цифры. P.S. Скажите ответ, который будет круче - буду просто В ВОСТОРГЕ! :) Название: Re: Кто быстрее отгадает задуманное число? Отправлено: buka от Март 25, 2010, 03:50:31 Оптимальный алгоритм - решить уравнение: Так Вы - конкретнее - решите для 1000.//скрытый текст, требуется сообщений: 213// А дальше задавать нужные цифры. P.S. Скажите ответ, который будет круче - буду просто В ВОСТОРГЕ! :) Дайте число вопросов и мы посмотрим. Муторно для 1000 - дайте для 16. Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Smith от Март 25, 2010, 13:47:09 А может быть еще на четное-нечетное ориентироваться? Итак чёт-нечёт:1) Число чётное? 2) Его целочисленная половина - чётна? 3) Целочисленная четверть - чётная? и т.д. для 1/8, 1/16, ..., 1/512... Так мы получим 10 бит, но 1 может быть ложным. Требуется ещё 5 вопросов: предположим, число 6. 1)да 2)нет 3)нет 4)нет (т.к. целочисленной восьмой части от этого числа нет, или имеем ввиду, что 0 - четное число?) 5)...10) нет (аналогично) ??? с вопросами 11-15 подход верный, но скажите однозначно сколько вопросов получается минимум? и еще не понял термин "двойная ложь", ведь по условию соврать можно только 1 раз.. Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Smith от Март 25, 2010, 13:54:33 //скрытый текст, требуется сообщений: 213// так какой ответ на второй вопрос?Название: Re: Кто быстрее отгадает задуманное число? Отправлено: buka от Март 25, 2010, 16:07:48 А может быть еще на четное-нечетное ориентироваться? Итак чёт-нечёт:1) Число чётное? 2) Его целочисленная половина - чётна? 3) Целочисленная четверть - чётная? и т.д. для 1/8, 1/16, ..., 1/512... Так мы получим 10 бит, но 1 может быть ложным. Требуется ещё 5 вопросов: предположим, число 6. 1)да 2)нет 3)нет 4)нет (т.к. целочисленной восьмой части от этого числа нет, или имеем ввиду, что 0 - четное число?) 5)...10) нет (аналогично) ??? с вопросами 11-15 подход верный, но скажите однозначно сколько вопросов получается минимум? и еще не понял термин "двойная ложь", ведь по условию соврать можно только 1 раз.. 2. Касательно двойной лжи: речь идёт об усложнении условия задачи, а именно, определить исконное число, если допускается 1 ложный ответ и заловить ситуацию, если 2 ложных ответа (в этом случае число определить не удастся, а вот убедиться, что ложных ответов - 2 можно). Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Smith от Март 25, 2010, 20:28:18 соррри, тайм-аут((
2. об этом вопроса не было, хотя интересно.. 1. да, 14 и у меня (кодировка по 2 и далее, когда не хватает, - по 3) начало: перевести все и вся в двоичную систему, тогда все просто с 1-м вопросом и проще со 2-м в целом: респект и уважуха! :good: :good2: :good3: Название: Re: Кто быстрее отгадает задуманное число? Отправлено: Smith от Март 25, 2010, 23:32:35 кто не понял, то 1000 в десятичной системе счисления - это 1111101000 в двоичной системе счисления. теперь осталось задать 10 вопросов о соответствии места и значения цифр и мы имеем ответ на 1) вопрос ;)
|