На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число следующим образом.
-
Строится четверичная запись числа .
-
Далее эта запись обрабатывается по следующему правилу: a) если число делится на 4, то к этой записи дописываются две последние четверичные цифры; б) если число на 4 не делится, то остаток от деления умножается на 2, переводится в четверичную запись и дописывается в конец числа.
Полученная таким образом запись является четверичной записью искомого числа .
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа результатом является число , а для исходного числа это число .
Укажите минимальное число , после обработки которого с помощью этого алгоритма получается число , не меньше 1025.
Решение:
Решение на Python:
def ss(n, a):
if n == 0:
return '0'
s = ''
while n > 0:
s = str(n % a)+s
n = n // a
return s
otv = []
for N in range(200):
N4 = ss(N, 4)
if N % 4 == 0:
N4 = N4+N4[-2:]
else:
ostat = N % 4*2
ostat4 = ss(ostat, 4)
N4 = N4+ostat4
R = int(N4, 4)
if R >= 1025:
otv.append(N)
print(min(otv))
Ответ: 66