Автор | Сообщение |
|
Отправлено: 28.01.22 15:52. Заголовок: задание 5 - № 4444) (А. Богданов)
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1) Строится двоичная запись числа N. 2) Если N нечетное, то в конец полученной записи (справа) дописывается 0, в начало 1; если N четное в конец и начало дописывается по две единицы. 3) Результат переводится в десятичную систему и выводится на экран. Например, N = 1410 = 11102. Число четное, следовательно, добавляем по две единицы по краям, получается 111110112 = 25110. Укажите наибольшее число, меньшее 126, которое может являться результатом работы автомата Ответ: 123 У меня получается 122: for i in range(1,100): s=str(bin(i))[2:] if i%2==0: s='11'+s+'11' else: s='1'+s+'0' s=int(s,2) if s<126: print(s)
|
|
|
Ответов - 3
[только новые]
|
|
|
Отправлено: 29.01.22 13:13. Заголовок: Восьмой, по счету, р..
Шестой, по счету, результат вашей программы равен 123.
|
|
|
|
Отправлено: 29.01.22 13:37. Заголовок: zachto пишет: Шесто..
zachto пишет: цитата: | Шестой, по счету, результат вашей программы равен 123. |
| Спасибо, надо было ответы в список засунуть и вывести максимум.
|
|
|
|
Отправлено: 29.01.22 14:46. Заголовок: Лучше просто хранить..
Лучше просто хранить максимум в переменной.
|
|
|
|