Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Поляков-8883
- Просмотры: 385
- Изменено: 16 марта 2026
На вход алгоритма подается натуральное число \(N,\) не превышающее \(10000.\) Алгоритм строит по нему новое число \(R\) следующим образом:
- Строится девятеричная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу:
- а) вычисляется произведение \(P\) ненулевых цифр этой записи;
- б) вычисляется сумма \(S\) цифр этой записи;
- в) значения \(P\) и \(S\) записываются в девятеричной системе счисления в порядке неубывания.
Полученная таким образом запись является девятеричной записью искомого числа \(R.\)
Например, для исходного числа \(123 = 146_9\) получаем \(P = 1 \cdot 4 \cdot 6 = 24 = 26_9\) и \(S = 1 + 4 + 6 = 11 = 12_9.\) Тогда результатом является число \(1226_9 = 915.\)
Укажите наибольшее число \(N,\) при обработке которого результатом будет число \(12537.\)
Решение:
Python
def conv(n):
ans = ''
while n:
ans = str(n % 9) + ans
n //= 9
return ans
def R(N):
nn = conv(N)
pr = 1
for c in nn:
pr *= int(c) if c != '0' else 1
sum_ = sum(int(c) for c in nn)
nums = sorted([pr, sum_])
return int(f'{conv(nums[0])}{conv(nums[1])}', 9)
for N in range(10_000, 0, -1):
if R(N) == 12537:
print(N)
break
Ответ: \(9969\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


