Задача к ЕГЭ по информатике на тему «действия над цифрами числа» №1

Автомат получает на вход два трехзначных числа. По этим числам строится новое число по следующим правилам.

  1. Вычисляются три числа — сумма старших разрядов заданных трехзначных чисел, сумма средних разрядов этих чисел, сумма младших разрядов;
  2. Полученные три числа записываются друг за другом в порядке невозрастания (без разделителей).

Пример. Исходные трехзначные числа: 835  , 196  . Поразрядные суммы: 9  , 12  , 11  . Результат: 12119

Какое наибольшее значение может иметь одно из чисел, полученных на входе, если другое число равно 307  , а в результате работы автомата получено число 16118  ?

maxim = 0
a = 307
for b in range(100, 1000):
    s = [0]*3
    s[0] = int(str(a)[0])+int(str(b)[0])
    s[1] = int(str(a)[1])+int(str(b)[1])
    s[2] = int(str(a)[2])+int(str(b)[2])
    s.sort(reverse=True)
    s = ’’.join([str(x) for x in s])
    if s == ’16118’:
        maxim = b
print(maxim)

Ответ: 889
Оцените статью
Я решу все!