''' № 5.82 (; КП‑334 (ЕГЭ‑2023)). На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом: 1. Строится троичная запись числа N. 2. Если число N делится на 3, к троичной записи слева приписывается 1, а справа — 02; иначе остаток от деления числа на 3 умножается на 4, переводится в троичную систему и дописыва‑ ется в конец троичной записи. 3. Полученная таким образом запись является троичной записью искомого числа R. Например, для числа 11 троичная запись 1023 преобразуется в запись 102223 = 107, для числа 12 троичная запись 1103 преобразуется в 1110023 = 353. Укажите максимальное значение N, после обработки которого с помощью этого алгоритма получа‑ ется число R, меньшее чем 199. max N: r < 199 ''' def n2p(n, p): # перевод натур. числа n в с.с. с основ. p (p in [2; 10]) s = '' while n > 0: dig = n % p s = str(dig) + s # !!!! n //= p return s def alg(n): n3 = n2p(n, 3) if n % 3 == 0: n3 = '1' + n3 + '02' else: ost = (n % 3) * 4 n3 = n3 + n2p(ost, 3) r = int(n3, 3) return r t = [] for n in range(1, 100): r = alg(n) if r < 199: t += [n] print(max(t)) # 20 ok