Алгоритм решения задания 14. Часть 1
Учимся решать 15 задания первого типа
Читать
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
- Из числа N вычитается остаток от деления N на 4
- Строится двоичная запись полученного результата
- К этой записи дописываются справа ещё два разряда по следующему правилу:
- складываются все цифры построенной двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
- над этой записью проводятся те же действия – справа дописывается остаток от деления суммы её цифр на 2.
- Результат переводится в десятичную систему и выводится на экран.
Полученная таким образом запись является двоичной записью искомого числа R.
Укажите такое наибольшее N, для которого результат работы данного алгоритма меньше числа 47.
В ответе это число запишите в десятичной системе счисления.
Правильный ответ:
11
for N in range(1, 20)[::-1]:
N_1 = N - N % 4
N_bin = f'{N_1:b}'
N_bin += str(sum(map(int, N_bin)) % 2)
N_bin += str(sum(map(int, N_bin)) % 2)
R = int(N_bin, 2)
if R < 47:
print(N)
break
