Задача #3044

Алгоритмы

Уровень ЕГЭ

(О. Лысенков) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится пятеричная запись числа N.

2. Далее эта запись обрабатывается по следующему правилу:

а) если количество разрядов в записи числа R кратно 2, то запись делится посередине, левая и правая половина записи меняются местами;

б) если количество разрядов в записи числа R не кратно 2, то к ней справа приписывается остаток от деления числа N на 5, после этого запись делится посередине, левая и правая половина записи меняются местами.

Полученная таким образом запись является пятеричной записью искомого числа R.

Например, для исходного числа 21 = 415 результатом работы алгоритма является 145=9
Укажите наименьшее число N, для которого результат работы данного алгоритма больше 50.

В ответе это число запишите в десятичной системе счисления.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

26
def cc(n):
s = ''
while n != 0:
s = str(n % 5) + s
n //= 5
return s

def f(n):
s = cc(n)
if len(s) % 2 == 0:
s = s[len(s) // 2:] + s[:len(s) // 2]
else:
s = s + str(n % 5)
s = s[len(s) // 2:] + s[:len(s) // 2]
return int(s,5)

for i in range(1,1000):
if f(i)>50:
print(i)
break
Быстрый переход
Перейти к задаче