Задача о мудрецах. Решение

image

Всем известная задача:
У некоторого султана было два мудреца: Али-ибн-Вали и Вали-ибн-Али. Желая убедиться в их мудрости, султан призвал мудрецов к себе и сказал: «Я задумал два числа. Оба они целые, каждое больше единицы, но меньше ста. Я перемножил эти числа и результат сообщу Али и при этом Вали я скажу сумму этих чисел. Если вы и вправду так мудры, как о вас говорят, то сможете узнать исходные числа».

Мудрецы задумались. Первым нарушил молчание Али.
— Я не знаю этих чисел, — сказал он, опуская голову.
— Я это знал, — подал голос Вали.
— Тогда я знаю эти числа, — обрадовался Али.
— Тогда и я знаю! — воскликнул Вали.
И мудрецы сообщили пораженному царю задуманные им числа.

Назовите эти числа.

Каноничного решения этой задачи я так и не нашел, поэтому держите мой вариант (с претензией на каноничность).

Один из найденных мной ответов: числа 2 и 9 (да-да, ответов несколько). Попробую доказать верность решения.

Итак, 2 и 9. У Али произведение — 18. У Вали сумма — 11.

Вали знал, что Али не сможет отгадать числа. Значит, перемножив попарно все возможные слагаемые своей суммы, он не получил ни одного произведения, позволившего бы отгадать эти числа.

Основная теорема арифметики утверждает, что разложение числа на простые сомножители единственно, так что произведение двух простых чисел всегда позволяет отгадать эти числа. Следовательно, сумма Вали не должна получаться путем сложения двух простых чисел.

Тогда, Али отбрасывает те множители, сумму которых можно получить этим способом. Сумма множителей числа 18 — 3 и 6 — равна 9. Так же 9 можно получить сложением 2 и 7 — простых чисел. Отбрасываем эти множители. Остается одна пара множителей — 2 и 9. Их сумму — 11 — нельзя представить в виде суммы двух простых чисел. Следовательно, исходные числа — 2 и 9.

UPD: Прошу извинить, по всей видимости не добрался в своих рассуждениях до логического конца. Спасибо Shultc.

Вот, что я упустил: после того, как Али отгадывает числа, отгадать их должен и Вали. Как он это делает? Вали перемножает попарно все возможные слагаемые своей суммы, а затем перебирает их. Искомое произведение то, которое имеет одну единственно возможную сумму своих множителей, не являющуюся суммой двух простых чисел. Множители, с помощью которых Вали получил это произведение, и являются исходными числами.

Таким образом, я опроверг свой собственный ответ. 3 и 8, 4 и 7, 5 и 6 — все их попарные произведения подходят под рассуждение, поэтому выбрать нужное из них Вали не мог.

Подобрать ответ, как я понял, можно только перебором. Теперь решение должно быть верно.

UPD2: Для полноты приведу взятый из этой статьи ответ. Исходные числа — 13 и 4. Ответ единственен.
P.S. Идите в статью, там еще и сорцы есть.
Поделиться публикацией

Комментарии 81

    +1
    Почему, по вашему, Вали не мог подумать, что эти числа — 3 и 8, или 4 и 7, или 5 и 6?
      0
      Вали конечно мог!.. Только это не меняет ничего: все три комбинации таковы, что не позволяют Али определить сами числа: 3 и 8 или 6 и 4? 4 и 7 или 2 и 14? 5 и 6 или 10 и 3? То есть, Вали не мог просто так узнать числа, но он точно знал, что Вали их тоже не знает.
        0
        Я говорил о втором ходе Вали…
        0
        Внес поправку
      • НЛО прилетело и опубликовало эту надпись здесь
          +1
          А 6 и 3 вас чем не устроили?
          • НЛО прилетело и опубликовало эту надпись здесь
              0
              6+3 = 9, а 9 можно получить только единственным способом 3*3.
              это многоходовая комбинация с передачей уточняющей информации, распишите ее более подробно — со всеми вариантами сумм/произведений и с точки зрения обоих мудрецов на каждом шаге, и все станет понятно.
            +1
            Ой, еще одно решение из песочницы — geektimes.ru/post/249098
              +2
              4 и 4
              Али построил фразу так, чтобы передать в сообщении количество символов результата
              Вали отвелил фразой, построенной из суммы чисел
              Превый сказал 16
              Второй 8

              Вариант тут один. Только 4 на 4 даст шестнадцать при умножении и 8 при сложении. Они обменялись информацией в разговоре и оба знают ответ, о чем уже в простой беседе сообщили друг другу и султану. Они же мудрецы, я правильно прочитал условие?

              И да, в условии написано что числа целые, а не простые, не вводите себя в заблуждение неверной трактовкой задачи.
                +1
                Задача на логику, а не конспирологию. И попробуйте все же внимательнее перечитать текст решения
                  0
                  Логика ≠ арифметика, think outside of the box и все такое.
                  Решение ArturSitnikoff гораздо больше похоже на правду, чем сложные математические операции в уме, во время диалога на четыре фразы.
                    +1
                    Это все, конечно, хорошо. Не надо мыслить как все и т.д., и т.п. Но у такого подхода куча минусов. Привязка к русскому языку, к примеру.
                      0
                      Я ни сколько не настаиваю на правильности этого решения как единственного верного, особенно учитывая то, что условие можно изменить и получить тот же ответ придерживаясь этой схемы разгадки. Но задачу вы задали на русском и решал я её естественно на русском.
                      0
                      Чисто арифметический подход хорош тем, что переведенная на другой язык задача имеет то же решение, что и оригинальная.
                        –1
                        Ну, найдите эту задачу на другом языке, вполне возможно, что числа там другие, но логика решения такая-же.
                        Cуть задачи — не проверка арифметических навыков. Не стоит столь близко к сердцу принимать, лучше отложить на корке мозга как неудачный, но поучительный опыт.
                          +1
                          Почему неудачный? Это решение имеет такое же право на существование, как и мое. Правда, арифметическое решение больше распространено, как я понял. Уверен, что именно его имел ввиду автор задачи. Но не буду спорить, 4 и 4 — вполне подходит под условие.
                            –1
                            Ваша правда, но лично я себе засечку где-то в области затылка оставил: прежде чем решать в лоб, надо перепроверить условия на наличие мудрого решения)
                      +2
                      Хорошо, буду показывать на пальцах.

                      Задание известно, но ответ кроется в диалоге. Только в диалоге мудрецы могут посовещаться. Ведь им дали подсказки, которые они должны передать друг другу.

                      — Я не знаю этих чисел, — сказал он, опуская голову.
                      — Я это знал, — подал голос Вали.
                      — Тогда я знаю эти числа, — обрадовался Али.
                      — Тогда и я знаю! — воскликнул Вали.

                      Опуская голову, подал голос,… — это слова автора, это лишнее. отбрасываем это.

                      Имеем:
                      — Я не знаю этих чисел (16 звуков)
                      — Я это знал (8 звуков)
                      — Тогда я знаю эти числа
                      — Тогда и я знаю!

                      После того как Али передал Вали Произведение чисел, Вали уже знал сумму и узнал произведение, и мог сразу сказать, что знает ответ, но ведь Али не знает какие числа загадал султан и не сможет дать правильный ответ, он его не знает, без помощи товарища. А ведь султан сказал «Если вы и вправду так мудры, как о вас говорят, то сможете узнать исходные числа». А значит оба мудреца должны знать числа. Вали, чтобы не показаться мудрее и не отправить на плаху своего товарища (шучу), должен и ему сообщить какие числа надо сказать султану. И отвечает ему суммой, выручив своего товарища, и хотя уже знает ответ, просто молчит об этом. Когда Али наконец получает нужную информацию, он сообщает что знает эти числа. И Вали, вероятно с умным видом, сообщает султану о том же, не дав повода заподозрить его в том, что ответ он знал сразу, но спасал своего товарища. Задача 5 класса, уверяю. Эту, правда, впервые вижу, натыкался на похожие, хотя совершенно другого направления, просто логика похожая.

                      И да, если бы числа были бы другие, то и диалог мудрецов был бы совершенно другим, бог знает каким. Но какое условие — такой и ответ.
                        –1
                        Спасибо, конечно, за подробное объяснение, но по-моему это все довольно ясно. А под словами «И попробуйте все же внимательнее перечитать текст решения» я имел ввиду, что не ввожу себя «в заблуждение трактовкой задачи», мое решение под эту трактовку подходит.
                        Но, все же, интересное решение вы озвучили, это точно.
                          0
                          Честно говоря меня не смутил ваш вариант решения, и не помешал предложить свой, уж простите меня пожалуйста за откровенность. Я увидел задачу и задумался как бы мне ее решить самому. Конечно я прочитал вскользь ваше решение и решения по ссылкам, тоже вскользь. Но мудрецы в моей башке ассоциируются с хитрецами, а не с профессорами математики со знанием языков программирования. :)
                            –1
                            В моей почему-то наоборот, наверное из-за склада ума. :)
                          0
                          И в довесок к своей версии решения я могу построить более короткий диалог для этой задачи с тем же ответом:
                          — Я не знаю этих чисел
                          — Я уже знаю
                          — И я знаю!
                            –1
                            Может, стоит задуматься почему выбран более длинный диалог? Я думаю, автор задачи не предусматривал такого решения. Похоже на хитрую попытку подлезть, подстроиться под условие задачи. Хитро придумано, не спорю.
                              0
                              Может, стоит задуматься почему выбран более длинный диалог?

                              Может чтобы ввести разгадчика в заблуждение, предоставив отвлекающую информацию?
                                –1
                                И один единственный ответ, решенный арифметически, тоже является отвлекающей информацией. :)
                                  –2
                                  Арифметическое решение задачи загоняет вас в рамки применения простых чисел, но в условиях ограничения на их наличие или отсутствие нет, соответственно решение верно только если добавить условие требующее наличие простого числа среди загаданных, кроме того, в арифметическом решении отсутствует вариант, что оба значения — это одно и то-же число, что получается при решении задачи логически.
                                  Если говорить проще — решали не ту задачу, которая была поставлена.
                                    0
                                    Почему я использовал в рассуждении простые числа? Потому, что их произведение всегда позволяет угадать эти числа. Это часть рассуждения. Не нужно никаких лишних условий вставлять в задачу. Все верно и для тех условий, что уже есть.
                                      0
                                      Без разницы почему вы их использовали.

                                      Вы добавили дополнительные условия:
                                      1. Присутствует простое число, как минимум одно
                                      2. Числа не одинаковы
                                      Эти условия подстраивают задачу под решение, а не решают задачу.

                                      Напоминаю, что в логическом ответе нет простых чисел и, кроме того, оба числа одинаковы и это больше соответствует условиям, чем дополнительные ограничители которые вы ввели для упрощения вычислений.
                                        0
                                        Окей, тогда и в «логическом ответе» есть дополнительное условие: числа должны быть одинаковы, разве нет? Если так совпало, что одно из чисел простое, это же не значит, что я добавил дополнительное условие.
                                          –1
                                          Заявив, что в арифметическом решении возможен только один ответ, вы добавили условие обязательного наличия простого числа, почему? Потому-что без обязательного наличия простых чисел, арифметическое вычисление ответа невозможно.
                                            +1
                                            Решение одно, потому что перебор других чисел не дал. И я не понимаю, как так вышло, что этим своим заявлением я ввел дополнительное условие.
                                              –1
                                              При переборе вы не наткнулись на комбинацию 4х4, 6х6, 4х6 и любая другая комбинация четных чисел за исключением 2 — а все эти значения Султан вполне себе может загадать(и среди них не будет простых чисел!), в отличии от сторонников арифметического решения задачи решивших все за него, он себя не ставил в рамки обязательного указания простых чисел.
                                              +1
                                              Дело в том, что я не занимался перебором. На ответ (13,4) я наткнулся в этой статье, и я его просто доказал. Точно так же можно попробовать доказать или опровергнуть любые другие два числа, хоть (4,4), хоть (6,6). Никаких ограничений нет.
                                                –1
                                                Опровергните или докажите арифметически что Султан указал не 4х4, а скажем, 8х2 (насчет исключения 2 я в прошлом комментарии перегнул, просто в случае комбинации 4х2 задача для мудреца которому достались перемноженные числа была-бы заранее решена), напоминаю, что ваш подход заведомо исключает оба варианта ответа, несмотря на то, что условиям они соответствуют.
                                                +1
                                                Числа — 4 и 4. Произведение у Али — 16, сумма у Вали — 8. Али не может отгадать числа, так как его произведение может быть так же произведением 2 и 8. Но Вали никак не мог сказать «Я это знал», ведь вполне могло быть так, что загаданные числа — это 3 и 5. Тогда их произведение — 15 — позволило бы Али однозначно определить загаданные числа. Получается, что загадать 4 и 4 султан никак не мог.
                                                  –1
                                                  Дурацкий вопрос, но где тут арифметическое доказательство?
                                                  Вали мог как не угадать, так и угадать, сказанное вами не доказывает ничего.
                                                    +1
                                                    Я понятия не имею, что вы вкладываете в понятие «арифметическое доказательство». Я использовал этот термин в противовес вашему «логическому доказательству», это не более чем абстракции. Но это — доказательство, и оно доказывает, что султан не мог загадать числа 4 и 4. Тогда как 13 и 4 он вполне мог загадать.
                                                  +1
                                                  Вали мог угадать, а мог и не угадать. Именно поэтому он не мог сказать, что знал это точно.
                                                  А ведь по условию он говорит: «Я это знал».
                                                    –1
                                                    Вы «открыли коробку», но не с той стороны.
                                                    Если у вас есть рядышком люди с которыми у вас развито взаимопонимание — вынесите на их суд этот диалог, возможно им удастся понять аргументы и донести их до вас в нужной форме.

                                                    Я, к сожалению, исчерпал всякий энтузиазм для дальнейших попыток объяснения, почему арифметическое вычисление конкретной комбинации в соответствии с условиями задачи, без дополнительных ограничений — невозможно.
                                                    +1
                                                    То есть вы не допускаете, что можете оказаться неправым? Поступите так, как посоветовали поступить мне, и вы.
                                                      –1
                                                      Я то ваши аргументы разгребаю и даже логику ищу, но вы до сих пор не попробовали отложить в сторону простые числа и увидеть простую истину — комбинаций соответствующих задаче огромное множество и арифметически их вычислить невозможно за неимением достаточного количества известных данных.

                                                      Именно поэтому прошу вас обратиться к человеку со стороны которому вы доверяете, не хотите — ваше дело, «в интернете кто-то неправ» — не достаточно сильный мотив, что-бы пытаться развивать абстрактное мышление незнакомого человека.
                                                      +1
                                                      Вы говорите, что я ввел дополнительные ограничения на числа. Я же говорю, что никаких ограничений не вводил, так как любые два числа из возможных по условию задачи (2-99) могу доказать/опровергнуть. Вы предлагаете опровергнуть числа 4 и 4. Я это делаю. Возможно, вы имеете ввиду, что необходимо перестать считать, что простые числа существуют в природе? Но они есть, и никуда от этого не деться. Я использую их в своих доказательствах, потому что МОГУ. Так же как математики используют их в доказательствах своих теорем. Вы говорите, что разгребали мои аргументы и искали в них логику. То же самое делал и я. Никаких нарушений в своих рассуждениях я не нашел. Я, конечно же, поинтересуюсь мнением знакомых. Но и вы, пожалуйста, сделайте то же самое.
                                                        +1
                                                        Еще вы говорите, что султан мог загадать любые два числа, но ведь это не так. Именно условия задачи ограничивают его выбор, а не я это делаю. Если он мог загадать только числа, одно из которых является простым, то это из условий задачи выходит, а не потому, что я так захотел.
                                                          +1
                                                          Еще одно.
                                                          Опровергните или докажите арифметически что Султан указал не 4х4, а скажем, 8х2

                                                          ваш подход заведомо исключает оба варианта ответа, несмотря на то, что условиям они соответствуют

                                                          Конечно же, он их исключает. И, конечно же, условиям они не соответствуют. Я уже доказывал это. Вы, видимо, считаете, что условие одно — числа, большие 1, но меньшие 100. Если бы это было так, подошли бы абсолютно все пары чисел. Но есть еще условия, накладываемые сообщениями Али и Вали.
                                                            +1
                                                            Другое дело, что эти условия можно трактовать по-разному. Возможно, в этом причина спора.
                                                              +1
                                                              Очевидно, что решая так называемым «арифметическим способом», сообщения Али и Вали интерпретируются таким образом, что ограничения оставляют всего одну пару чисел (13,4). Точно так же, решая способом, предложенным ArturSitnikoff, у нас появляются другие ограничения, оставляющие пару чисел (4,4). Все эти ограничения входят в условие задачи.
                                                                0
                                                                Какие условия надо добавить, что-бы буквы в диалогах мудрецов подсчитать? Никаких, кроме того, что мудрецы умеют вычитать и делить.

                                                                Какие условия надо добавить, что-бы «решить как арифметик»?
                                                                1. Ограничить комбинацию чисел разными значениями
                                                                2. Ограничить одно из чисел простым

                                                                Условия надо не трактовать, а выполнять, это не библия или коран.
                                                                  0
                                                                  Да никто не критикует ваш вариант решения, успокойтесь.

                                                                  Но ваши попытки принизить или опровергнуть математическое решение просто смешны и позорны.

                                                                  Думать out of the box — хорошо. Но если все время думать out of the box, то вместо самолетов у вас будет получаться вот это
                                                            –1
                                                            Вы правы. О простых числах в задаче речи нет, и о том что они не могут быть одинаковы тоже. Они целые и неизвестны, в этом и соль загадки
                                            +1
                                            И да, в условии написано что числа целые, а не простые, не вводите себя в заблуждение неверной трактовкой задачи.
                                            Вам стоило бы более внимательно прочитать статью. Требования для чисел быть простыми следует из постановки задачи, и собственно, является частью решения.
                                              +1
                                              «Я задумал два числа. Оба они целые, каждое больше единицы, но меньше ста» — прямо в каждом слове чувствуется, что там должно быть простое число.
                                                0
                                                Это не все условие. Продолжайте.
                                                  +1
                                                  Так вы и процитируйте часть условия, которая говорит о том, что простое число обязательно есть.

                                                  Фактически же, без домыслов, известные условия выглядят так:
                                                  1<a<100
                                                  1<b<100
                                                  a+b=c
                                                  a*b=d
                                                  a=?, b=?
                                                    0
                                                    Цитирую
                                                    — Я не знаю этих чисел, — сказал он, опуская голову.
                                                    — Я это знал, — подал голос Вали.
                                                    — Тогда я знаю эти числа, — обрадовался Али.
                                                    — Тогда и я знаю! — воскликнул Вали.
                                                      0
                                                      Где-же в этом диалоге конкретно указывается, что Султан сообщил простое число?
                                                      Напоминаю, трактовка «иначе не решить» — является придумыванием дополнительных условий, хотя-бы потому-что «иначе», или логически, задачу решить можно не придумывая условия.
                                                        –1
                                                        Третья строчка.
                                                          –1
                                                          То что они оба не смогут извлечь искомые числа они знали заранее(даже если искомые значения — 4х4 получается слишком много возможных ответов), обмен информацией с контекстом «я не справился» никак не может помочь вычислениям с простым числом, по времени их никто не ограничивал.

                                                          В третьей строчке Али подтвердил, что вычислил ответ получив вторую неизвестную, то-есть «d» из вышеперечисленных условий. Вали-же узнав, что Али его правильно понял и передал ему переменную «c» так-же подтвердил получение ответа.
                                                            0
                                                            Перепутал порядок Али и Вали, но это не суть как важно.
                                                              0
                                                              То что они оба не смогут извлечь искомые числа они знали заранее
                                                              Нет, неверно
                                                              обмен информацией с контекстом «я не справился» никак не может помочь вычислениям с простым числом
                                                              Нет, неверно

                                                              Прочитайте две статьи и постарайтесь понять то, что там написано, вместо того, чтобы оголтело все отрицать
                                                                0
                                                                Давайте разложим кусок из гиктаймс, где добавляется условие:

                                                                Али говорит, что он не знает загаданных чисел. Отсюда можно сделать вывод, что хотя бы одно из загаданных чисел не простое, иначе число раскладывалось бы на множители единственным способом. Соответственно создаём стрим простых чисел:


                                                                Обратите внимание, тексте отсутствует предположение о присутствии комбинации без простых чисел(необоснованно отрекается огромный поток чисел), идем дальше:

                                                                Дальше Вали сообщает, что он знал, что Али не знает загаданных чисел. Откуда он мог это знать? Видимо его число раскладывается на суммы пар таким образом, что среди них нет ни одной, в которой оба числа были бы простыми.

                                                                В этом куске утверждается, что среди возможных слагаемых не должно присутствовать двух простых чисел, почему? Их наличие в потоке возможных слагаемых не делает задачу автоматически решенной, такие комбинации просто не верны учитывая заявление Али.

                                                                «видимо», «можно сделать вывод» — это дополнительные условия.

                                                                Конечно, учитывая заявление мудрецов об успехе можно придумывать сколь угодно хитрую комбинацию условий(что и происходит и в первой, и во второй цитатах), но это подгонка задачи под решение.
                                                                  0
                                                                  1.
                                                                  Отсюда можно сделать вывод, что хотя бы одно из загаданных чисел не простое, иначе число раскладывалось бы на множители единственным способом.

                                                                  не равносильно
                                                                  Обратите внимание, тексте отсутствует предположение о присутствии комбинации без простых чисел(необоснованно отрекается огромный поток чисел)
                                                                  Причем вторую часть вы сейчас сами придумали

                                                                  2.
                                                                  В этом куске утверждается, что среди возможных слагаемых не должно присутствовать двух простых чисел, почему? Их наличие в потоке возможных слагаемых не делает задачу автоматически решенной
                                                                  Их пристуствие делает неверным утверждение «Я об этом знал». Он не мог этого знать заранее, если бы такая пара была.

                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                    0
                                                                    1. Вы так и не обратили внимание на первое же условие: «Хотя-бы одно число — не простое» в первом пункте по факту используется еще и как «Хотя-бы одно число — простое»

                                                                    2. Напоминаю, что суммы пар не простых чисел умышленно упущены, т.к. иначе решение не возможно.
                                                                      0
                                                                      Хотя бы одно число простое следует из утверждения
                                                                      — Тогда я знаю эти числа, — обрадовался Али.


                                                                      — Тогда и я знаю!
                                                                      делает решение задачи единственным
                                                                        –1
                                                                        Я об этом в предыдущем сообщении и подчеркнул, цитирую:
                                                                        Конечно, учитывая заявление мудрецов об успехе можно придумывать сколь угодно хитрую комбинацию условий(что и происходит и в первой, и во второй цитатах), но это подгонка задачи под решение.
                                                                          0
                                                                          Заявление мудрецов — часть условия. Они даны в задаче не просто так. В хороших задачах вообще ничего не дается просто так. И, заметьте, все заявления что-то значат. Нельзя убрать ни одно из них, в отличие от вашего решения, в котором вы тоже придумываете сколь угодно хитрую комбинацию условий, но еще и последняя реплика совершенно не нужна.
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                          –1
                                                                          1. Вашего решения я не видел. Не это ли habrahabr.ru/post/256023/#comment_8381747?
                                                                          2. Неожиданно, ни одной комбинации четных чисел.

                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                              0
                                                                              1. Определитесь, ваша интерпретация решения, либо чужое решение.
                                                                              2. Подчеркиваю слово «комбинации», куда подевались комбинации из 4,6,8,10,12, а так-же одинаковых чисел?

                                                                              Честно, я устал спорить об очевидном и из раза в раз указывать в одно и то-же в дальнейшем на мое участие прошу не расчитывать, оставайтесь при своем.

                                                                              Арифметически задача решается только когда присутствует условие наличия простого числа, а это является лишь выводом со слов мудрецов об успехе вычислений, что не является условием задачи, соответственно, задача подстраивается под решение, а не наоборот.
                                                                                0
                                                                                Вы когда нибудь слышали о задачах, которые решаются более чем в одно действие? Вот это одна из них — знакомьтесь. Сначала вы делаете на основе условия вывод о наличии простого числа, затем его используете в дальнейших выкладках.
                                                                          +1
                                                                          n1nj4p0w3r, все ваши так называемые «дополнительные ограничения» — это следствия из условия. Их никто не придумывал и не вводил из прихоти. В остальном вы правы, тут действительно не о чем спорить, все уже всё поняли.
                                                                            +1
                                                                            Представил себе такой диалог:
                                                                            — Необходимо найти площадь криволинейной трапеции. Разбиваем криволинейную трапецию на бесконечное множество прямоугольников с основанием dx, тогда площадью этой трапеции будет lim при dx->0 суммы произведений f(xi) на dx. Задача решена.
                                                                            — Вы ввели дополнительное условие — dx стремится к нулю, иными словами решили не ту задачу, которая была поставлена.
                                                                            — (facepalm)
                                                                            Извините… )
                                                      0
                                                      sheuvi21, извините, но я не понял, почему решение задачи одно и это числа 13 и 4? Почему не 2 и 15?
                                                      Так же как и не понял, откуда вы из условия взяли, что числа простые?! Написано, что они целые и в диапазоне [2,99].
                                                      как я понял:
                                                      — число первого мудреца можно получить произведением более одной пары чисел (1068 чисел попадают под это условие)
                                                      — число второго можно получить суммой более одной пары чисел (191 число попадает под это условие)
                                                      — когда второй сказал, что знал это, это означает, что каждая пара, дающая в сумме его число, в произведении так же даёт число, которое получается произведением более одной пары чисел. Под это попадает 10 вариантов.
                                                      Но вот дальше свести это к 1 варианту у меня не получается.
                                                      Выписывать возможные пары не буду, их у меня получилось 145, а если говорить про сумму, которую шепнул султан, то их, как я говорил, 10:
                                                      11, 17, 23, 27, 29, 35, 37, 41, 47, 53

                                                      Или я где-то ошибся и что-то не понял?!
                                                        0
                                                        Добавлю код, которым вычислял
                                                        код на питоне
                                                        import operator
                                                        
                                                        def all_undefined_results(action):
                                                            res = {}
                                                            for i in range(2,100):
                                                                for j in range(2,100):
                                                                    val = action(i,j)
                                                                    if res.has_key(val):
                                                                        has_mirrored = False
                                                                        for sub_val in res[val]:
                                                                            if sub_val[0]==j:
                                                                                has_mirrored = True
                                                                                break
                                                                        if not has_mirrored:
                                                                            res[val].append((i,j))
                                                                    else:
                                                                        res[val]=[(i,j)]    
                                                            res = {k: v for (k, v) in res.items() if len(v)>1}
                                                            return res
                                                        
                                                        def check_opposite(first, second,action):
                                                            result = []
                                                            for k,v in first.items():
                                                                all_has = True
                                                                for par in v:
                                                                    val = action(par[0],par[1])
                                                                    if not second.has_key(val):
                                                                        all_has = False
                                                                        break
                                                                if all_has:
                                                                    result.append((k,v))
                                                            return result
                                                        
                                                        
                                                        mults =  all_undefined_results(operator.mul)
                                                        print "all variants with multiplication number:", len(mults.keys())
                                                                    
                                                        sums = all_undefined_results(operator.add)
                                                        print "all variants with sum number:",len(sums.keys())
                                                        
                                                        filtered = check_opposite(sums,mults,operator.mul)
                                                        print "second itteration variants with sum number: ",len(filtered)
                                                        
                                                        pairs_from_summ = []
                                                        for i in filtered:
                                                            for j in i[1]:
                                                                if j not in pairs_from_summ:
                                                                    pairs_from_summ.append(j)
                                                        
                                                        print "pairs number:", len(pairs_from_summ)
                                                        


                                                          0
                                                          Присоединюсь к вопросу.

                                                          Добавлю код на javascript
                                                          var P,W,i,j,k;
                                                          var MT=[],Mq=[],Q=[],q=[],Z=[];
                                                          
                                                          for(i=0;i<9802;i++) { MT[i]=0; Mq[i]=0; }
                                                          
                                                          for(i=2;i<100;i++) for(j=i;j<100;j++) {
                                                            P=i*j; MT[P]=P; Mq[P]++;
                                                          }
                                                           
                                                          for(i=2,k=0; i<100; i++) for(j=i; j<100; j++) {
                                                            P=i*j; Q[k]=MT[P]; q[k]=Mq[P]; k++;
                                                          }
                                                          
                                                          for(W=4,i=0; W<198; W++) {
                                                            P=0;
                                                            for(j=2;j<=W/2;j++) {
                                                              if(Mq[j*(W-j)]===1) {
                                                                P=1; break;
                                                              }
                                                            }
                                                            if(P===0) {
                                                              Z[i]=W; i++;
                                                          document.write(W);
                                                          document.write("<br>");
                                                            }
                                                          }
                                                          


                                                          Те же 10 сумм получаются.
                                                            0
                                                            Почему не 2 и 15:

                                                            — Али знает произведение 30.
                                                            — Вали говорит, что сумма может быть как 11, так и 17
                                                            — Али видит, что 30=2*15=5*6, и никак не может выбрать из этих двух вариантов. Так что сказать «я знаю» он не может.
                                                              0
                                                              Сложнее объяснить, почему не 2 и 9.
                                                              — Вали знает сумму 11.
                                                              — После того, как Али узнал, что сумма — 11,17,23,27… он смог назвать числа.
                                                              Каким могло быть произведение (с точки зрения Вали)?
                                                              Либо 18, либо 24, либо 28, либо 30.
                                                              Если оно 18=2*9=3*6, то Али назовёт числа.
                                                              Но он назовёт их и при произведении 28=2*14=4*7: сумма окажется допустимой только в последнем случае.
                                                              Следовательно, Вали не может выбрать из вариантов 4+7 и 2+9, его последняя реплика невозможна.
                                                              +2
                                                              — Тогда и я знаю! — воскликнул Вали.

                                                              Это означает, что среди всех пар, дающих в сумме его число, есть одна пара, произведение которой имеет только одну сумму множителей, каждая пара слагаемых которой дает в произведении число, которое получается произведением более одной пары чисел.

                                                              Более запутанного объяснения не придумаешь, но так оно и есть.
                                                              0
                                                              В принципе, если бы произведения были 18, 24, 28, 50, 52, 54 и т.д., Али мог бы назвать загаданные числа, оставив Вали в неведении. Но, по счастливой случайности, произведение 52=4*13 оказалось таким, о котором Вали мог бы догадаться, что оно единственно возможное. И Али должен был подсказать это Вали. Поэтому условие задачи надо скорректировать: убрать последнюю реплику Вали, а реплику Али «Тогда я знаю эти числа» поменять на «Тогда мы знаем эти числа».

                                                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                              Самое читаемое