Форум » Кодирование и декодирование информации » Задание 5 № 5368 возможно на сайте не тот ответ » Ответить

Задание 5 № 5368 возможно на сайте не тот ответ

Даня: В ответе написано 24, хотя программа выдает 15 , да и если порешать руками ,то можно понять ,что 24 не подходит. вот мое решение: [pre2] for n in range(2,1000): b = bin(n)[2:] if b.count('1') == 0: b = '10' + b[2:] + '0' else: b = '11' + b[2:] + '1' r = int(b,2) if r < 35: print(n) [/pre2]

Ответов - 2

Поляков: Даня пишет: В ответе написано 24, хотя программа выдает 15 Вот правильная программа: [pre2] def alg( n ): s = f"{n:b}" if s.count('1') % 2 == 0: s = '10' + s[2:] + '0' else: s = '11' + s[2:] + '1' return int(s, 2) for n in range(1000): if alg( n ) < 35: print( n ) [/pre2]

mademchik: было: [pre2] ... if b.count('1') == 0: ... [/pre2] надо: [pre2] ... if b.count('1')%2 == 0: ... [/pre2] забыли указать %2 - проверка на четность количества единичек в числе :-)



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