Часто вижу всякие ребусы, типа: $% УДАР+УДАР = ДРАКА $%, стало интересно, есть ли какой-то не переборный алгоритм решения в общем случае таких ребусов? Есть всякие закономерности, которые прослеживаются, но в общем виде я чего-то не смог придумать. задан 1 Июн '19 18:01 Williams Wol... |
@Williams Wol...: такого рода задачи, не основанные на полном переборе, решаются обычно по принципу постепенного расследования, и в каждой задаче это происходит по-своему. Например, здесь сразу бросается в глаза, что цифра A чётна, и что У>=5, Д=1. Далее A=2 на основании Д+Д (3 быть не может), после чего Р=6, так как это не 1. Отсюда У=8, К=5, и всё быстро решается. Иногда бывает нужно рассмотреть где-то несколько случаев.
Только это не диофантовы уравнения, а числовые ребусы.
Почему не они? Они же сводятся к ним: $% 2*(1000x+100y+10z+d) = ... $%
Так можно ли как-то алгоритмически организовать это расследование? Или каждый ребус уникальный?
@Williams Wol...: диофантовы уравнения обычно решаются в целых или натуральных числах. Здесь же ребусы решаются в цифрах, то есть помимо уравнения есть ещё много неравенств, включая те, где цифры не должны совпадать.
Для каждого ребуса есть конечное число случаев, что даёт общий алгоритм. Понятно, что при этом присутствует полный перебор, и это нежелательно. Но "граница" между допустимым объёмом перебираемого и недопустимым лежит в чисто интуитивной области. Поэтому и отвечать надо на этот же уровне. Разумеется, каждый ребус в этом смысле "уникален". Это, по сути дела, логическая задача.