Алгоритм решения задания 15. Часть 5
Учимся решать 15 задания пятого типа
Читать
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Строится двоичная запись числа N.
- Далее эта запись обрабатывается по следующему правилу:
- если число N делится на 3, то к этой записи дописываются три последние двоичные цифры;
- если число N на 3 не делится, то остаток от деления сначала увеличивается на единицу, после чего полученное число умножается на 3, а затем результат умножения переводится в двоичную запись и дописывается в конец числа
Полученная таким образом запись является двоичной записью искомого числа R.
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 1210 = 11002 результатом является число 11001002 = 10010, а для исходного числа 410 = 1002 это число 1001102 = 3810
Укажите максимальное число R, не превышающее 416, которое может быть получено с помощью данного алгоритма.
В ответе запишите это число в десятичной системе счисления.
for N in range(1, 100)[::-1]:
N_bin = f'{N:b}'
if N % 3:
remainder = N % 3
remainder += 1
remainder += 3
N_bin += f'{remainder:b}'
else:
N_bin += N_bin[-3:]
R = int(N_bin, 2)
if R <= 416:
print(R)
break
