Задание №6080.
Формальное исполнение простого алгоритма. ЕГЭ по информатике
На вход алгоритма подаётся натуральное число
N. Алгоритм строит по нему новое число
R следующим образом.
1. Строится двоичная запись числа
N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:
а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа
N) является двоичной записью искомого числа
R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 12
10 = 1100
2 результатом является число 110000
2 = 48
10, а для исходного числа 7
10 = 111
2 это число 11110
2 = 30
10.
Укажите такое
наименьшее число
N, для которого результат работы алгоритма больше числа 253. В ответе запишите это число в десятичной системе счисления.
Пояснение:
Решим задание, написав программу на языке программирования Python.
final_list = []
for n in range(1, 1000): binary_n = bin(n)[2:]
sum_digits_of_binary_n = sum([int(i) for i in binary_n]) binary_n += str(sum_digits_of_binary_n % 2)
sum_digits_of_binary_n = sum([int(i) for i in binary_n]) binary_n += str(sum_digits_of_binary_n % 2)
R = int(binary_n, 2) if R > 253: final_list.append(n)
print(min(final_list)) |
Таким образом,
64 —
наименьшее число
N, для которого результат работы алгоритма больше числа 253.
Показать ответ
64
Источник: Открытый вариант — 2025
Сообщить об ошибке
Тест с похожими заданиями