Задание 1. Тип заданий 6: алгоритмы.
  • Задание:

    На вход алгоритма подаётся натуральное число N (32 >= N <=63). Алгоритм строит по нему новое число R следующим образом:
    1. Строится двоичная запись числа N.
    2. К этой записи дописываются справа еще два разряда по следующему правилу:

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

    Полученная таким образом запись является двоичной записью числа R. Укажите такое наименьшее число N, для которого результат работы алгоритма больше 130. В ответе запишите число в десятичной системе счисления.

  • Решение:

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

    13010=100000102

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

    100000

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

    1000001

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

    10000011

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

    Ответ: 32

Поделиться:
 
Комментарии (6)
Евгений Кудрявый # 8 января 2016 в 14:21 +1
Ответ-то 32!
Информатик БУ # 8 января 2016 в 15:08 0
Пардон, опечатка в задании.
Daniil Sevostyanov # 15 февраля 2016 в 17:31 0
почему остаток при делении 1 на 2 будет 1????????
Информатик БУ # 15 февраля 2016 в 18:23 0
У вас есть одно яблоко. Вы делите его на двоих так, чтобы каждому дать целое. Каждому дали 0 яблок, осталось одно яблоко.
Талгат Нигматуллин # 14 ноября 2016 в 19:26 0
(уберем из двоичной записи числа 130 два левых разряда: ) почему левых то?) правых же вроде, нет?
Талгат Нигматуллин # 14 ноября 2016 в 19:29 0
Теперь сложим правые четыре разряда, и остаток от деления этой суммы тоже запишем слева:
10000011
почему написано слева, а добавляются справа?)
Перевести число из в Результат: 510 = 1012