ПОЖАЛУЙСТА ПОМОГИТЕ!!! Я УЖЕ ЧАС СИЖУ И НЕ МОГУ ПОНЯТЬ, КАК РЕШАТЬ ЭТО ЗАДАНИЕ (с...

0 голосов
28 просмотров

ПОЖАЛУЙСТА ПОМОГИТЕ!!! Я УЖЕ ЧАС СИЖУ И НЕ МОГУ ПОНЯТЬ, КАК РЕШАТЬ ЭТО ЗАДАНИЕ (с подробным и понятным объяснением)

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


Информатика (103 баллов) | 28 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

1) первое число, превышающее число 31, это число 32

2) 32 (10сс) =10 0000 (2сс) =(1000) 00 - не подходит, так как в 1000 число единиц нечётно и далее должна стоять 1, а у нас 0

3) 10 0001 - не подходит по той же причине

4) 10 0010 (2сс)= (1000)10=32+2=34 (10сс) ответ 34

(87.0k баллов)
0 голосов

Правило а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. Правило а) приведет к тому, что число единиц станет нечетным в любом случае.

Правило б) к этой записи справа дописывается остаток от деления количества единиц на 2. После правила а) число единиц нечетное, поэтому дописываться всегда будет единица. Это, в свою очередь, означает, что все число будет нечетным и в десятичной системе, а общее число единиц в двоичной записи будет четным.


Число R по условию превышает 31₁₀=11111₂ и должно быть нечетным.

Будем последовательно проверять все нечетные числа, начиная от 100001₂.

100001 может быть результатом работы алгоритма, т.е. число единиц в нем четное и оно завершается единицей.

В самом деле, если N₂=1000, то по правилу а) получаем 10000, а по правилу б) получаем 100001.


Итак, N₂=100001₂=2⁵+2⁰=32+1=33₁₀


Ответ: 33

(2.0k баллов)