Задание №4435.
Формальное исполнение простого алгоритма. ЕГЭ по информатике
На вход алгоритма подаётся натуральное число
N. Алгоритм строит по нему новое число
R следующим образом.
1. Строится двоичная запись числа
N.2. Далее эта запись обрабатывается по следующему правилу:
а) если сумма цифр в двоичной записи числа чётная, то к этой записи справа дописывается 0, а затем два левых разряда заменяются на 10;
б) если сумма цифр в двоичной записи числа нечётная, то к этой записи справа дописывается 1, а затем два левых разряда заменяются на 11.
Полученная таким образом запись является двоичной записью искомого числа
R.Например, для исходного числа 6
10 = 110
2 результатом является число 1000
2 = 8
10, а для исходного числа 4
10 = 100
2 результатом является число 1101
2 = 13
10.
Укажите
минимальное число
N, после обработки которого с помощью этого алгоритма получается число
R, большее 29. В ответе запишите это число в десятичной системе счисления.
Пояснение:
Решим задание, написав программу на языке программирования Python.
final_list = []
for n in range(1, 1000): binary_n = bin(n)[2:] if sum(int(i) for i in binary_n) % 2 == 0: binary_n += '0' binary_n = '10' + binary_n[2:] else: binary_n += '1' binary_n = '11' + binary_n[2:]
R = int(binary_n, 2) if R > 29: final_list.append(n)
print(min(final_list)) |
Таким образом,
11 — минимальное число
N, после обработки которого с помощью этого алгоритма получается число
R, большее 29.
Показать ответ
11
Источник: ФИПИ. Открытый банк тестовых заданий
Сообщить об ошибке
Тест с похожими заданиями