(Досрочный ЕГЭ-2025) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:
1) Строится двоичная запись числа N.
2) Далее эта запись обрабатывается по следующему правилу:
а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;
б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.
б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.
Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 480. В ответе запишите это число в десятичной системе счисления.
Решение: напишем программу на языке Phyton
for n in range (2,200):
#1
a = bin (n) [2:]
#2
if a.count('1') % 2 == 0:
a = '10' + a [2:] + '0'
else:
a = '11' + a [2:] + '1'
#3
r = int(a,2)
if r > 480:
print (n,r)
break
Вывод:
176 481
Ответ: 176
Комментариев нет:
Отправить комментарий