Решение самого сложного ребуса от ШАД на YaC2013

31.10.2013

Марина Лебедева

Пришло время открыть завесу тайн задач Школы Анализа Данных c Yet another Conference 2013, как и обещали.

Чтобы хранить интригу будем отписывать только по одной задаче.

Сегодня поговорим о первой, о самой сложной задаче, о которой мы пишем в блоге. Кстати, на конференции был дан правильный ответ неё, но приза за него получено не было.

Вот, собственно, задача:

SHAD. SHAD? SHAD!

Решите ребус. Одинаковыми буквами обозначены одинаковые цифры, а разными — разные. Звёздочками обозначены произвольные цифры.

        S H A D

* S H A D

—————————————————

* * * * *

* * * * *

* * * * *

* * * * *

—————————————————

* * * * S H A D

Ну как на ваш взгляд? На первый взгляд кажется, что, «тююю, что тут решать-то?», а вот приступив к решению вручную начинаются проблемы. Кажется, что нужно построить систему уравнений, что, в принципе, правильно. (Если честно, то мы тоже так пытались :D).

Сложность задачи заключается в том, что в каждом уравнении цифра D, A, H, S — это не результат вычисления всего выражения, например, D ≠ D², а D — это остаток от деления на 10 всего выражения.

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

Решили сделать его по-человечески с комментариями, а также сделать возможность изменять входные параметры задачи, то есть использовать этот код не только для нахождения чисел вида SHAD × #SHAD = ####SHAD, но и для больших величин, а так же с возможностью определить длину получаемого произведения, среди которых будут искаться нужные числа.

Итак, самое интересное. После прогона с исходными параметрами мы получили следующие ответы:

Во время YaC2013 я подходил с ответом 0625 × 20625, но он девочкам за стойкой не понравился, хотя подходит по всем критериям.

Такие дела. Я ничего против не имею, но если задача имеет несколько решений, то, на мой взгляд, каждое из них правильное.

  • Общее

Комментарии

Добавить комментарий

Вы вернулись, чтобы дочитать статью? Кликните на меня, я найду то место, где вы остановились.