Задание 5. Информатика. ЕГЭ. Поляков-6869

Просмотры: 80
Изменено: 21 февраля 2025

(С. Якунин) На вход алгоритму подаётся четырёхзначное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом:

  1. Строится число \(K\) из цифр числа \(N,\) расположенных в порядке невозрастания.
  2. Строится число \(M\) из цифр числа \(N,\) расположенных в порядке неубывания.
  3. Число \(R\) вычисляется как разность \(K – M.\)

Найдите минимальное число \(N,\) для которого число \(R,\) полученное в результате работы алгоритма, равно \(6174\) (постоянной Капрекана), и при этом число \(K\) максимально возможное.

Решение:

Python


def R(N):
    K = int(''.join(sorted(list(str(N)), reverse=True)))
    M = int(''.join(sorted(list(str(N)))))
    return abs(K - M), K

K = 0
Nmin = 100_000

for N in range(1000, 10_000):
    Rt, Kt = R(N)
    if Rt == 6174 and Kt > K:
        Nmin = N
        K = Kt
print(Nmin)

Ответ: \(3799\)