Форум » Выполнение и анализ алгоритмов для исполнителей » Задание 5. Из онлайн-теста » Ответить

Задание 5. Из онлайн-теста

эмир: https://kpolyakov.spb.ru/school/egetest/b5.htm [quote] 7. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1) Строится двоичная запись числа N. 2) К этой записи дописывается (дублируется) последняя цифра. 3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное. 4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным. Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее 80, которое могло получиться в результате работы автомата. В ответе это число запишите в десятичной системе. [/quote] Я провел некоторое время пытаясь понять, почему мой ответ 92 не подходит, перебором узнал что правильный ответ - 95. Я правда не понимаю, если предположить что ответ 95, проверим, мог ли алгоритм получить такое число. двоичная запись числа 95 - 1011111 т.к. по условию в конечной записи на три разряда больше, вычеркнем их 1011 111 . Теперь, у нас есть число 1011, прогоним его через алгоритм. 1) Строится двоичная запись числа N. (уже, 1011) 2) К этой записи дописывается (дублируется) последняя цифра. 1011 -> 10111 3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное. 10111 - здесь 4 единицы, значит четное, следовательно дописываем 0 101110 4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным 101110 - 4 единицы - четное, дописываем 0 1011100 Переведем ответ в десятичную систему: 1011100 = 92 Т.к. получившийся ответ не равен 95, с которого мы начали, алгоритм не мог его получить. Если я ошибся в каком-то из пунктов, подскажите пожалуйста.

Ответов - 2

cabanov.alexey: Прочтите внимательно если в двоичном коде числа N чётное число единиц

эмир: Боже мой, спасибо большое.



полная версия страницы