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

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

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

2. Складываются квадраты цифр, стоящих на четных позициях;

3. Затем в порядке возрастания записываются эти суммы.

Укажите наибольшее число, при вводе которого автомат выдает число 5085.

Решение аналитически:

Сумма квадратов 3  чисел принадлежит промежутку [0,243], а сумма квадратов 2  чисел промежутку [0,162]. В соответствие с этими правилами число разбивается на число 50  и 85  . Раскладывая данные числа на суммы квадратов, получаем набор цифр для исходного числа {0,1,2,7,9}. Если рассмотрим расположение позиций начиная с единицы, то на нечетных местах можно расположить числа {9, 2, 0}, а на четных позициях числа {7, 1}. Т.е. число 97210  . Если сложить квадраты чисел, то получим суммы как раз: 85  и 50  соответственно. Так как у нас суммы располагаются по возрастанию, тогда как раз выходит 5085  . И это максимальное расположение.

Решение программой:

for i in reversed(range(10 ** 4, 10 ** 5)):
    s = str(i)
    sum1 = int(s[0]) ** 2 + int(s[2]) ** 2 + int(s[4]) ** 2
    sum2 = int(s[1]) ** 2 + int(s[3]) ** 2
    k = str(min(sum1, sum2)) + str(max(sum1, sum2))
    if k == ’5085’:
        print(i)
        break

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