
ПОЖАЛУЙСТА ПОМОГИТЕ!!! Я УЖЕ ЧАС СИЖУ И НЕ МОГУ ПОНЯТЬ, КАК РЕШАТЬ ЭТО ЗАДАНИЕ (с подробным и
понятным объяснением) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1) Строится двоичная запись числа N. 2) К этой записи дописываются справа ещё два разряда по следующему правилу: а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. б) к этой записи справа дописывается остаток от деления количества единиц на 2. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, которое превышает 31 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.

Ответы на вопрос

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



Правило а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. Правило а) приведет к тому, что число единиц станет нечетным в любом случае.
Правило б) к этой записи справа дописывается остаток от деления количества единиц на 2. После правила а) число единиц нечетное, поэтому дописываться всегда будет единица. Это, в свою очередь, означает, что все число будет нечетным и в десятичной системе, а общее число единиц в двоичной записи будет четным.
Число R по условию превышает 31₁₀=11111₂ и должно быть нечетным.
Будем последовательно проверять все нечетные числа, начиная от 100001₂.
100001 может быть результатом работы алгоритма, т.е. число единиц в нем четное и оно завершается единицей.
В самом деле, если N₂=1000, то по правилу а) получаем 10000, а по правилу б) получаем 100001.
Итак, N₂=100001₂=2⁵+2⁰=32+1=33₁₀
Ответ: 33



Давайте разберемся с этим алгоритмом по шагам и найдем минимальное число R, которое превышает 31.
Начнем с числа N = 32, так как нам нужно найти число R, которое превышает 31.
Переводим число 32 в двоичную систему. 32 в двоичной системе равно 100000.
Теперь мы должны дописать два разряда согласно правилам:
а) Число единиц в двоичной записи 32 равно 1 (есть только одна единица), что является нечетным числом. Следовательно, мы допишем 0 в конец.
б) Количество единиц (1) делим на 2, получаем остаток 1. Дописываем этот остаток справа.
Теперь у нас есть новая двоичная запись числа R: 10000001.
Теперь переводим эту двоичную запись обратно в десятичную систему:
10000001 в двоичной системе равно 129 в десятичной системе.
Таким образом, минимальное число R, которое превышает 31 и может являться результатом работы алгоритма, равно 129.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili