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