Алгоритм получает на вход натуральное число > 1 и строит по нему новое число следующим образом:
-
Вычисляется сумма чётных цифр в десятичной записи числа . Если чётных цифр в записи нет, сумма считается равной нулю.
-
Вычисляется сумма цифр, стоящих на чётных местах в десятичной записи числа без ведущих нулей. Места отсчитываются слева направо (от старших разрядов к младшим, начиная с единицы). Если число однозначное (цифр на чётных местах нет), сумма считается равной нулю.
-
Результатом работы алгоритма становится модуль разности полученных двух сумм.
Пример. Дано число = 2021. Алгоритм работает следующим образом:
-
Чётные цифры в записи: 2, 0, 2, их сумма равна 4.
-
Цифры на чётных местах: 0, 1, их сумма равна 1.
-
Модуль разности полученных сумм равен 3.
Результат работы алгоритма = 3.
При каком наименьшем в результате работы алгоритма получится = 9?
Решение:
Решение на Python:
otv = []
for N in range(2, 100000):
s = str(N)
a = sum(int(x) for x in s if int(x) % 2 == 0)
b = sum(int(cifra) for cifra in s[1::2])
R = abs(a - b)
if R == 9:
otv.append(N)
print(min(otv))
Ответ: 19