(К. Багдасарян) Алгоритм получает на вход натуральное число \(N > 11\) и строит по нему новое число \(R\) следующим образом:
Укажите минимальное число \(R,\) большее \(300,\) которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def conv(N):
alph = '0123456789AB'
ans = ''
while N:
ans = alph[N % 12] + ans
N //= 12
return ans
def R(N):
n12 = conv(N)
n12 += n12[-2:] if n12[-1] == '0' else conv(int(n12[-1], 12) * 9)
return int(n12, 12)
print(min(R(x) for x in range(12, 300) if R(x) > 300))
Ответ: \(309\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене