Предмет: Информатика,
автор: Obernikhin
На вход алгоритма подаётся натуральное число М. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа м.
2. Затем справа дублируется последняя цифра два раза.
3. Если количество единиц получилось чётным, то справа дописывается цифра 1, иначе справа дописывается
цифра 0.
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа м) является
двоичной записью искомого числа R.
Укажите минимальное число N, после обработки которого автомат получает число R, большее 76. В ответе
найденное число и запишите в десятичной системе.
Ответы
Автор ответа:
1
Ответ:
Очевидно 77 не могло получиться так же как 78, но могло 79:
Тут 4 единицы => верно, что в конце 1.
Далее 2 единицы есть дублирование последней 1 числа 1001.
Десятичный вид этого числа 9.
Как видим решение тривиальное.
Можно решить кодом:
for i in range(10):
s = bin(i)[2:]
s += 2 * s[-1]
if s.count('1') % 2 == 0:
s += '1'
else:
s += '0'
if int(s, 2) > 76:
print(i)
break
Похожие вопросы
Предмет: Русский язык,
автор: vefimova24
Предмет: Английский язык,
автор: малая155
Предмет: Русский язык,
автор: тащерка2
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: KsyushkaDog