На вход алгоритма подаётся натуральное число . Алгоритм строит по нему новое число следующим образом.
-
Строится четверичная запись числа .
-
Далее эта запись обрабатывается по следующему правилу: a) если число делится на 4, то к этой записи дописываются две последние четверичные цифры; б) если число на 4 не делится, то остаток от деления умножается на 2, переводится в четверичную запись и дописывается в конец числа.
Полученная таким образом запись является четверичной записью искомого числа .
- Результат переводится в десятичную систему и выводится на экран. Например, для исходного числа результатом является число , а для исходного числа это число . Укажите минимальное число , после обработки которого с помощью этого алгоритма получается число , не меньшее 1088.
Решение:
Решение на 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):
N2 = ss(N, 4)
if N % 4 == 0:
N2 = N2+N2[-2:]
else:
ostat = N % 4*2
ostat4 = ss(ostat, 4)
N2 = N2+ostat4
R = int(N2, 4)
if R >= 1088:
otv.append(N)
print(min(otv))
Ответ: 68
Ответ:
68