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

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

1. Складываются первая и вторая, вторая и третья, а также третья и четвертая цифры исходного числа.

2. Из полученных трёх чисел выбираются два наибольших и записываются друг за другом в порядке убывания без разделителей.

Пример. Исходное число: 4781  . Суммы: 4+ 7 = 11  ; 7+ 8 = 15  ; 8+ 1 = 9  . Наименьшая сумма: 9  . Результат:    1511  . Укажите наименьшее число, в результате обработки которого автомат выдаст число 147  .

Решение 1

for i in range(1000, 10000):
    a = [int(x) for x in str(i)]
    s1 = a[0] + a[1]
    s2 = a[1] + a[2]
    s3 = a[2] + a[3]
    ma = max(s1, s2, s3)
    mi = min(s1, s2, s3)
    sr = s1 + s2 + s3 - ma - mi
    if int(str(ma) + str(sr)) == 147:
        print(i)
        break

Решение 2

Автомат выдаст число 147  , значит полученные числа равны 14  (максимальная сумма) и 7  (средняя сумма). Поскольку мы ищем наименьшее число, то чем левее разряд, тем меньше он должен быть, а значит, сумма первых разрядов должна быть наименьшей, а сумма последних — наибольшей. Тогда сумма двух последних разрядов равна 14  , что можно представить как 7  и 7  . Значит, сумма средних разрядов равна 7  , но, поскольку число 7  уже есть, мы получаем, что второй слева разряд равен 0  . Тогда первая цифра может быть какой угодно, меньшей 7  , но, так как мы ищем минимальное число, мы выбираем наименьшую возможную цифру, то есть 1  (0  нельзя ставить на первое место).

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