На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:
1) Строится двоичная запись числа N.
2) К этой записи дописывается справа бит чётности: 0, если в двоичном коде числа N было чётное число единиц, и 1, если нечётное.
3) К полученному результату дописывается ещё один бит чётности.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее 130, которое может быть получено в результате работы этого алгоритма. В ответе это число запишите в десятичной системе
Answers & Comments
Переведём число 130 в двоичную систему счисления:
13010=100000102
Число N должно быть на два разряда меньше, то есть уберем из двоичной записи числа 130 два левых разряда:
100000
Теперь попробуем применить к нему алгоритм. Сначала складываются три левых разряда, и остаток от деления на 2 этой суммы запишем в конец числа справа:
1000001
Теперь сложим правые четыре разряда, и остаток от деления этой суммы тоже запишем слева:
10000011
Как мы видим, при числе 1000002 мы получили число 100000112, что на единицу больше, чем число 130. При этом 1000002 = 3210, то есть минимальное возможное N не только для R, которое больше 130, но и по условию задания.
Ответ: 32