Сорри. Не посмотрел в профиль вопрошающего, где 11 лет. Отчего-то представли себе отца или дедушку, который затруднился помочь мелкому с решением заданной на дом (или, возможно, "олимпиадной" для 5-го класса) задачки.
Ну, тогда немного о принципах решения. В общем, это перебор, но, как легко посчитать, тут 80640 вариантов, и за обозримое время их не рассмотреть. Поэтому перебор должен быть "с отсечением", сразу убирая, как можно раньше, некоторые варианты, и "ветвясь по дереву", то есть там, где нет возможности выбрать единственный, рассматривать их все, а на каждой ветке отсекать невозможные, используя предположение данной ветки, как доказанное. Если все продолжения ветки невозможны - ветка целиком отбрасывается, рассматривается другая.
В задаче "звёздочка" все числа однозначные. Как обычно оговаривается, разные буквы есть разные числа. Иногда особо уточняют, что 0 не используется, но здесь этого нет.
Очень полезны для отсечения операции умножения и деления. Они позволяют сразу отсечь 0 и 1. Произведение (делимое - для деления) составное число, то есть из 10 вариантов можно оставить 4: 4, 6, 8, 9. Особенно пригодны квадраты. З*З=Ч сразу оставляет для Ч лишь два варианта: 4 и 9.
Если мы установили одно из чисел в операции, результат также ограничен (скажем, умножение на 2 - произведение чётно, на 3 - равно 3, 6 или 9).
Лучше идти по ветке до конца, пока её не убьют или не найдёт решение.
Пример решения см. выше.
В задаче
Код:
УДАР
+ УДАР
=ДРАКА
усложнение, вызванное тем, что результат операции может быть двузначен, и будет перенос в следующий разряд.
Очевидно, что Д=1. А, ясно, чётное.
Код:
У1АР
+ У1АР
=1РАКА
1+1 (и, возможно, 1 из переноса) равно А, но в силу чётности переноса быть не может, так что А=2
Код:
У12Р
+ У12Р
=1Р2К2
Р+Р=?2, но Р не равно 1, поскольку 1 это Д. Следовательно, Р=6, а Р+Р=12
К=2+2+1(из переноса)=5
Код:
У126
+ У126
=16252
У=8
Код:
8126
+ 8126
=16252