Загрузка данных


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])