Криптарифм - это математическое выражение, в котором цифры заменены буквами. При этом одинаковые цифры шифруются одной и той же буквой, а разным цифрам соответствуют различные буквы. Считается, что никакое число не должно начинаться с нуля, а криптарифм должен иметь единственное возможное решение.
Криптарифм можно считать хорошим, если в результате шифрования получилась какая-то осмысленная фраза. Например:
КНИГА+КНИГА+КНИГА=НАУКА => 28375+28375+28375=85125 ДЕРЕВО-ОПИЛКИ=ПАЛКИ => 569614-487307=82307 МУХА:ХА=УХА => 3125:25=125 КРОТ*Я=ТРОЯК => 4973*8=39784
Допускается использование русских и латинских букв, круглых скобок, знаков сложения (+), вычитания (-), умножения (*), деления (/), возведения в степень (^) и факториала (!). Также, вместо любой цифры в математическом выражении можно использовать символ ?.
УМ^А=МЕШОК => 124=20736 (М+О+С+К+В+А)^4=МОСКВА => (3+9+0+6+2+5)4=390625 А^Р*К^А=АРКА => 25*92=2592 Я!=АТЛЕТ => 8!=40320 НАГОЙ:ЙОГАН=? => 87912:21978=4
Пользователь может указать известные значения для некоторых букв. Это позволит существенно уменьшить время поиска.
Можно также указать, что гласные буквы в задании соответствуют четным цифрам, а согласные буквы - нечетным цифрам (и наоборот). Например, если гласные буквы соответствуют нечетным цифрам, а согласные буквы - четным, то следующая головоломка имеет единственное решение:
МУХА+МУХА=СЛОН => 2309+2309=4618
Примечание. Список гласных букв задан в окне "Настройки". Соответственно, все остальные буквы алфавита считаются согласными.
Особенностью вычислительного алгоритма, используемого в программе Cross+A, является то, что не только окончательный результат вычисления выражения, но и промежуточные результаты на каждом этапе должны являться целыми числами. То есть, программа, решая задание А:Б+В:Б=Б, не сможет найти ответ 1:2+3:2=2. Исключениями являются вычисления квадатного и кубического корней:
АБ^(1/2)=5 => 25½=5 АБВ^(1/3)=5 => 125⅓=5
|