Форум » Выполнение и анализ алгоритмов для исполнителей » задание 5 - № 4444) (А. Богданов) » Ответить

задание 5 - № 4444) (А. Богданов)

Ygrek: На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1) Строится двоичная запись числа N. 2) Если N нечетное, то в конец полученной записи (справа) дописывается 0, в начало 1; если N четное в конец и начало дописывается по две единицы. 3) Результат переводится в десятичную систему и выводится на экран. Например, N = 1410 = 11102. Число четное, следовательно, добавляем по две единицы по краям, получается 111110112 = 25110. Укажите наибольшее число, меньшее 126, которое может являться результатом работы автомата Ответ: 123 У меня получается 122: [pre] 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) [/pre]

Ответов - 3

zachto: Шестой, по счету, результат вашей программы равен 123.

Ygrek: zachto пишет: Шестой, по счету, результат вашей программы равен 123. Спасибо, надо было ответы в список засунуть и вывести максимум.

zachto: Лучше просто хранить максимум в переменной.




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