def f(r, t):
s = ''
while r > 0:
s = str(r % t) + s
r = r // t
return s
# Задача №27760
a1 = []
for n in range(19, 100000):
b = f(n, 2)
if n % 2 == 0:
b = '10' + b
else:
b = '1' + b + '01'
r = int(b, 2)
a1.append(r)
print("Задача 27760 — минимальное R при N > 18:", min(a1))
# Задача №27617
a2 = []
for n in range(1, 100000):
b = f(n, 2)
if n % 3 == 0:
b = b + b[-3] + b[-2] + b[-1]
else:
b = b + f((n % 3) * 3, 2)
r = int(b, 2)
a2.append((abs(r - 130), n, r))
a2.sort()
print("Задача 27617 — максимальное N с R ближайшим к 130:", a2[0])