(PRO100-ЕГЭ) На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Полученная таким образом запись является шестеричной записью искомого числа \(R.\)
Пример. Число \(11_{10} = 15_6\) не делится на \(3,\) поэтому в конец его шестеричной записи \(15_6\) дописывается шестеричная запись числа \((11 \mod 6) \cdot 10 = 20 = 32_6\), так что результатом работы автомата является число \(1532_6 = 416_{10}\). Исходное число \(12_{10} = 20_6\) делится на \(3,\) поэтому в конец шестеричной записи \(20_6\) дописываются её две первых цифры \(20,\) так что результатом работы автомата является число \(2020_6 = 444_{10}\).
Укажите минимальное число \(R,\) большее \(680,\) которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.
Решение:
Python
def conv(N):
ans = ''
while N:
ans = str(N % 6) + ans
N //= 6
return ans
def R(N):
d = conv(N)
if N % 3 == 0:
d += d[:2]
else:
d += conv(N % 3 * 10)
return int(d, 6)
print(min(R(N) for N in range(7, 500) if R(N) > 680))
Ответ: \(694\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене