Автор | Сообщение |
|
Отправлено: 19.10.21 07:43. Заголовок: 5-184
184) Автомат обрабатывает натуральное число N < 256 по следующему алгоритму: 1) Строится восьмибитная двоичная запись числа N–1. 2) Инвертируются разряды исходного числа (0 заменяется на 1, 1 на 0). 3) Полученное число переводится в десятичную систему счисления. Для какого числа N результат работы алгоритма равен 18? for N in range(1,256): R=256-N-1 if R==18: print(N) У меня получилось 237, в ответе 238. Разве не нужно единицу из N по условию задачи вычитать?
|
 |

|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Сообщение: 2958
|
|
Отправлено: 19.10.21 10:20. Заголовок: Попробуйте выполнить..
Попробуйте выполнить алгоритм вручную для N = 238.
|
 |

|
|
Отправлено: 19.10.21 12:03. Заголовок: Вручную ответ сошелс..
Вручную ответ сошелся. N=18-1=17=00010001 -11111111 00010001 ----------- 11101110 11101110=238 for N in range(1,256): R=255-(N-1) if R==18: print(N) Ошибка была в строке: R=256-N-1, вычитать нужно было из 255, что соответствует 11111111
|
 |

|
|