На вход алгоритма подается натуральное число \(N,\) не превышающее \(10000.\) Алгоритм строит по нему новое число \(R\) следующим образом:
Полученная таким образом запись является восьмеричной записью искомого числа \(R.\)
Например, для исходного числа \(123 = 173_8\) получаем \(P = 1 \cdot 7 \cdot 3 = 21 = 25_8\) и \(S = 1 + 7 + 3 = 11 = 13_8.\) Тогда результатом является число \(1325_8 = 725.\)
Укажите наибольшее число \(N,\) при обработке которого результатом будет число \(86688.\)
Решение:
Python
def R(N):
on = f'{N:o}'
pr = 1
for c in on:
pr *= int(c) if c != '0' else 1
sum_ = sum(int(c) for c in on)
nums = sorted([pr, sum_])
return int(f'{nums[0]:o}{nums[1]:o}', 8)
for N in range(10_000, 0, -1):
if R(N) == 86688:
print(N)
break
Ответ: \(9716\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене