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

Задача 5_269.

ЮМ: Ответ указан 120, а получается 119 [pre2] for x in range(20,1,-1): n=bin(x)[2:] if x%2!=0: n='1'+n+'11' else: n='11'+n+'00' r=int(n,2) if r < 127: print(r)[/pre2]Где-то ошибка?

Ответов - 2

Фирсов М.: Ваша программа выводит числа: 119 111 103 63 120 55 112 31 56. Наибольшее из них 120

s11kai: Ответ указан 120, а получается 119 [pre2] for x in range(20,1,-1): n=bin(x)[2:] if x%2!=0: n='1'+n+'11' else: n='11'+n+'00' r=int(n,2) if r < 127: print(r)[/pre2] Где-то ошибка? А если сделать так: [pre2] s = set() for x in range(20,1,-1): n = bin(x)[2:] if x%2 != 0: n = '1'+n+'11' else: n = '11' + n + '00' if int(n,2) < 127: s.add(int(n,2)) print(max(s)) [/pre2] То ответ будет печатать правильно, т.е. 120



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