Автомат получает на вход пятизначное число. По этому числу строится новое число по таким правилам:
- Складываются квадраты цифр, стоящих на нечетных позициях;
- Складываются квадраты цифр, стоящих на четных позициях;
- Затем в порядке неубывания записываются эти суммы.
Укажите наименьшее число, при вводе которого автомат выдает число 72128.
Решение прогой
for i in range(10 ** 4, 10 ** 5):
x = str(i)
sumOddPos = int(x[0]) ** 2 + int(x[2]) ** 2 + int(x[4]) ** 2
sumEvenPos = int(x[1]) ** 2 + int(x[3]) ** 2
num = str(min(sumOddPos, sumEvenPos)) + str(max(sumOddPos, sumEvenPos))
if num == "72128":
print(i)
break
Решение аналитически
Сумма квадратов чисел принадлежит промежутку [0,243], а сумма квадратов
чисел промежутку [0,162]. В соответствие с этими правилами число 72128 разбивается на числа
и
. Всего на нечетных позициях в пятизначном числе стоит
цифры, на четных —
цифры.
Определим сначала, какие цифры могут стоять на четных позициях. Это можно сделать с помощью перебора всех комбинаций x и y, которые являются решениями уравнения Потенциально самое большое значение наименьшего разряда (а соответственно и самое маленькое значение наибольшего разряда) может быть в решении уравнения с суммой квадратов неизвестных, равных наибольшему из найденных ранее чисел, т.е.
. Тогда положим, что
чтобы в уравнении для цифр на нечетных позициях можно было задать более высокую верхнюю границу и в перспективе поставить самую большую цифру в разряд единиц, а самую маленькую — в разряд десятков тысяч. В текущем же уравнении для цифр на четных позициях
оба числа x и y не могут превышать значения 8. Подходящей (и единственной) комбинацией является {6, 6}.
Теперь найдем комбинацию цифр, которые должны стоять на нечетных позициях. Для этого положим три различные переменные в новое уравнение:
Рассмотрим случай . Целых решений для
в уравнении
нет, поскольку
не является делителем
.
Далее рассмотрим Необходимо подобрать такое значение
, чтобы полуразность
и квадрата
была квадратом какого-либо натурального числа. Перебором приходим к выводу, что если
то
Мы нашли частное решение 86860, рассмотрим последний случай, когда и
различны между собой.
Будем брать и таким образом искать случай, при котором можно будет получить такую сумму квадратов
что одна из переменных
или
была бы меньше
, а далее и меньше найденных в процессе цифр.
Если тогда
. Подходящих решений нет.
Если тогда
. Этот вариант уже был рассмотрен ранее.
Если тогда
. Подходящих решений нет.
Далее вплоть до мы так и не найдем подходящих решений.
В таком случае поменяем константы в уравнениях для цифр на четных и нечетных позициях. Пусть для четных а для нечетных
. Пройдемся заново по тому же алгоритму. Для четных получим комбинацию {8,8}, а для нечетных {8,2,2}.
Таким образом, мы нашли наименьшее число .