Форум » Обработка целых чисел » 250 номер (не сходится ответ) » Ответить

250 номер (не сходится ответ)

Calabras123: 250) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов больше, чем наибольшее из всех чисел в файле, делящихся на 153, и в двоичной записи хотя бы одного элемента из двух содержится цепочка цифр 1111. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Не понимаю в чем проблема: [pre2] f=open("17-243.txt") a=list(map(int, f.readlines())) k=0 b=0 minsum=1000000000000 for i in range (len(a)): if a[ i]%153==0 and a[ i]>b: b=a[ i] for i in range (len(a)-1): a2=bin(a[ i])[2:] a2str=str(a2) a3=bin(a[i+1])[2:] a3str=str(a3) if (a[ i]>b or a[i+1]>b) and (a2str.count("1111")>=1 or a3str.count("1111")==1): k+=1 minsum=min(minsum, a[ i]+a[i+1]) print(k, minsum) [/pre2] Буду искренне благодарен за помощь!

Ответов - 1

Поляков: Calabras123 пишет: if (a[ i]>b or a[i+1]>b) and (a2str.count("1111")>=1 or a3str.count("1111")>=1): Вы не ловите пары, где в двоичной записи одного из чисел две цепочки 1111.



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