Для решения задачи необходимо найти четырёхзначные числа вида \(ABCD\), которые при умножении на последнюю цифру \(D\) дают четырёхзначное число, у которого первая и последняя цифры поменялись местами. Запишем это в виде уравнения:
\[ ABCD \times D = DAYS \]
Где:
- \(A\) — первая цифра (не может быть равна 0),
- \(B\) и \(C\) — вторая и третья цифры,
- \(D\) — последняя цифра,
- \(DAYS\) также является четырёхзначным числом.
Запишем число \(ABCD\) как: \[ ABCD = 1000A + 100B + 10C + D \]
Поменяв местами первую и последнюю цифры, получим: \[ DAYS = 1000D + 10A + B \]
Подставим это в уравнение: \[ (1000A + 100B + 10C + D) \times D = 1000D + 10A + B \]
Раскроем скобки: \[ 1000AD + 100BD + 10CD + D^2 = 1000D + 10A + B \]
Переносим все элементы в левую часть: \[ 1000AD + 100BD + 10CD + D^2 - 1000D - 10A - B = 0 \]
Это уравнение является многочленом и его решение может быть полным перебором подходящих значений для \(A\), \(B\), \(C\) и \(D\).
Теперь, чтобы найти все такие числа, можем использовать перебор. Основные ограничения для \(A\), \(B\), \(C\) и \(D\):
- \(A\) может принимать значения от 1 до 9 (так как число четырёхзначное).
- \(B\) и \(C\) могут принимать значения от 0 до 9.
- \(D\) может принимать значения от 1 до 9, так как оно должно быть последней цифрой.
Далее, нам нужно проверить для каждого из чисел, удовлетворяет ли оно полученному уравнению.
Напишем алгоритм:
- Перебрать все возможные значения для \(A\), \(B\), \(C\), \(D\):
- Посчитать \(ABCD \times D\) и посмотреть, равно ли это \(DAYS\).
- Проверить, что первая и последняя цифра действительно поменялись местами.
Примерный код на Python (или любой другой язык) может выглядеть вот так:
count = 0
for A in range(1, 10):
for B in range(0, 10):
for C in range(0, 10):
for D in range(1, 10):
ABCD = 1000 * A + 100 * B + 10 * C + D
DAYS = ABCD * D
if 1000 <= DAYS < 10000:
new_A = DAYS // 1000 # первая цифра DAYS
new_D = DAYS % 10 # последняя цифра DAYS
if new_A == D and new_D == A:
count += 1
print(count)
Также чтобы исключить числа, которые не являются четырёхзначными, задаем проверку на диапазон \(1000 \leq DAYS < 10000\).
В результате выполнения программы мы получим количество четырёхзначных чисел, которые удовлетворяют заданному условию.