19 апреля 2025 г.

Программирование. Задание № 5 "Анализ алгоритмов для исполнителей"

(Досрочный ЕГЭ-2025) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:

1) Строится двоичная запись числа N.

2) Далее эта запись обрабатывается по следующему правилу:

  а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;
  б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.

Полученная таким образом запись является двоичной записью искомого числа R. 

Укажите минимальное число 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

Комментариев нет:

Отправить комментарий