На вход алгоритма подаётся натуральное число .
Алгоритм строит по нему новое число следующим образом.
1) Вычисляется сумма всех чётных цифр десятичной записи числа
. Если чётных цифр нет, сумма
считается равной
.
2) Вычисляется сумма всех цифр десятичной записи числа
, стоящие на позициях с нечётными номерами. Позиции нумеруются слева направо, начиная с
.
3) Вычисляется результат R как модуль разности и
.
Например, . Сумма чётных цифр
.
Сумма цифр в позициях с нечётными номерами . Результат работы алгоритма
.
Укажите наименьшее число, в результате обработки которого по данному алгоритму получится число .
Решение 1
Если внимательно посмотреть, то мы всегда можем брать только нечетные позиции и складывать и получать число меньше. Если максимальное число мы можем взять в числе это 9, то . А по условию у нас 19, значит нужна еще единица, только она будет находится впереди, чтобы число было меньше.
. Тут сумма по нечетным равна 19, а сумма по четным 0. Также это наименьшее число.
Решение 2
for n in range(1, 100000):
n = str(n)
s1, s2 = 0, 0
for i in range(len(n)):
if int(n[i]) % 2 == 0:
s1 += int(n[i])
if i % 2 == 0:
s2 += int(n[i])
if abs(s1-s2) == 19:
print(n)
break