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

иринка2807 иринка2807    3   16.10.2020 09:07    1

Ответы
KristaYu KristaYu  15.11.2020 09:08

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

13010=100000102

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

100000

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

1000001

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

10000011

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

ответ: 32

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика