Яуже час сижу и не могу понять, как решать это (с подробным и понятным объяснением) на вход алгоритма подаётся натуральное число n. алгоритм строит по нему новое число r следующим образом. 1) строится двоичная запись числа n. 2) к этой записи дописываются справа ещё два разряда по следующему правилу: а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. б) к этой записи справа дописывается остаток от деления количества единиц на 2. полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа n) является двоичной записью искомого числа r. укажите минимальное число r, которое превышает 31 и может являться результатом работы алгоритма. в ответе это число запишите в десятичной системе.

oleg2777 oleg2777    3   26.09.2019 22:20    1

Ответы
Superpuper228911 Superpuper228911  08.10.2020 21:26

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

ПОКАЗАТЬ ОТВЕТЫ
ilyamam07 ilyamam07  08.10.2020 21:26

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

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


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

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

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

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


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


ответ: 33

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