1. Главная
  2. Библиотека
  3. Высшая математика
  4. Криптарифм — это математический ребус, в котором зашифр...
Разбор задачи

Криптарифм — это математический ребус, в котором зашифрован пример на выполнение одного из арифметических действий (в этой задаче — только сложение). При этом одинаковые цифры шифруются одной и той же буквой, а разным цифрам соответствуют различные буквы.

  • Предмет: Высшая математика
  • Автор: Кэмп
  • #Дискретная математика
  • #Математическая логика
Криптарифм — это математический ребус, в котором зашифрован пример на выполнение одного из арифметических действий (в этой задаче — только сложение). При этом одинаковые цифры шифруются одной и той же буквой, а разным цифрам соответствуют различные буквы.

Условие:

Криптарифм — это математический ребус, в котором зашифрован пример на выполнение одного из арифметических действий (в этой задаче — только сложение). При этом одинаковые цифры шифруются одной и той же буквой, а разным цифрам соответствуют различные буквы. Никакое число не должно начинаться с нуля.

Данияру понравилась такая задачка, и он захотел придумать ещё несколько таких же для своих друзей. Он хочет, чтобы слова в ребусе имели смысл, поэтому сначала придумывает слова, а потом пытается решить ребус. Решать ребусы Данияру надоело после первой же неудачной попытки, поэтому он просит вас решить все криптарифмы, которые он придумал, если это возможно (друзья Данияра живут по всему миру, поэтому криптарифмы он придумывает на английском)

Формат ввода Далее под (|s|) подразумевается длина строки s.

Первая строка входных данных содержит строку (A) ((1 \le |A| \le 8)) из строчных букв английского алфавита — первое слагаемое ребуса.

Вторая строка входных данных содержит строку (B) ((1 \le |B| \le 8)) из строчных букв английского алфавита — второе слагаемое ребуса.

Третья строка входных данных содержит строку (C) ((1 \le |C| \le 9)) из строчных букв английского алфавита — сумма ребуса.

Гарантируется, что в криптарифме используется не более 10 различных букв

Формат вывода Если во введеных строках присутствуют цифры — выведи единственное число -2, как признак некорректного ввода. Если ребус имеет решение, выведите три целых числа, которые могли быть скрыты за (A), (B) и (C) соответственно, иначе выведите -1. Первая буква каждой из строк A, B и C обязана представлять цифру от 1 до 9 (ноль может использоваться только в остальных позициях)

Если решений несколько, выведите любое.

Решение:

Анализ задачи

Мы имеем криптарифм сложения: A+B=CA + B = C, где A,B,CA, B, C — слова, заменяющие числа.

Условия:

  1. Каждая буква соответствует ровно одной цифре (от 0 до 9).
  2. Разные буквы соответствуют разным цифрам.
  3. Числа не должны начинаться с нуля (т.е., первая буква в AA, BB и CC не может быть нулем).
  4. Должно выполняться равенство: Value(A)+Value(B)=Value(C)\text{Value}(A) + \text{Value}(B) = \text{Value}(C).

Входные данные: Строки AA, BB, CC.

Выходные данные:

  • −2-2, если во входных строках есть цифры.
  • Три числа (значения A,B,CA, B, C), если решение найдено.
  • −1-1, если решений нет.

По...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какой подход является наиболее подходящим для решения криптарифмов, учитывая, что количество уникальных букв не превышает 10?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод