Лучшие помощники
2 апреля 2023 01:21
899

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:1) Строится двоичная запись числа N.
2) К этой записи дописывается справа бит чётности: 0, если в двоичном коде числа N было чётное число единиц, и 1, если нечётное.
3) К полученному результату дописывается ещё один бит чётности.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее 130, которое может быть получено в результате работы этого алгоритма. В ответе это число запишите в десятичной системе

1 ответ
Посмотреть ответы
Переведём число 130 в двоичную систему счисления:

13010=100000102

Число N должно быть на два разряда меньше, то есть уберем из двоичной записи числа 130 два левых разряда:

100000

Теперь попробуем применить к нему алгоритм. Сначала складываются три левых разряда, и остаток от деления на 2 этой суммы запишем в конец числа справа:

1000001

Теперь сложим правые четыре разряда, и остаток от деления этой суммы тоже запишем слева:

10000011

Как мы видим, при числе 1000002 мы получили число 100000112, что на единицу больше, чем число 130. При этом 1000002 = 3210, то есть минимальное возможное N не только для R, которое больше 130, но и по условию задания.

Ответ: 32

0
·
Хороший ответ
4 апреля 2023 01:21
Остались вопросы?
Найти нужный