Форум » Обработка целых чисел » задание 17 № 256 » Ответить

задание 17 № 256

flo23: В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов больше, чем наибольшее из всех чисел в файле, делящихся на 107, и в семеричной записи хотя бы одного элемента из двух содержится сочетание цифр 36. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Написала следующий код решения, и не понимаю, что я упускаю, ответ не сходится. Помогите разобраться [pre2] f=open('17-243.txt') a=[int(e) for e in f ] b=[] c=[] for i in range (len (a)): if a[ i]%107==0: b.append(a[ i]) cymma=max(b) for i in range (len (a)-1): s='' v=a[ i] while v!=0: s=str(a[ i]%7)+s v=v//7 s1='' v1=a[i+1] while v1!=0: s1=str(a[i+1]%7)+s v1=v1//7 if ((a[ i]>cymma ) or (a[i+1]>cymma )) and (s.count('36')>0 or s1.count('36')>0) : c.append(a[ i]+a[i+1]) print(len(c),min(c))[/pre2]

Ответов - 2

Поляков: Проверьте результаты перевода чисел в семеричную систему. Там несколько ошибок.

flo23: f=open('17-243.txt') a=[int(e) for e in f ] b=[] c=[] for i in range (len (a)): if a[ i]%107==0: b.append(a[ i]) cymma=max(b) for i in range (len (a)-1): s='' v=a[ i] while v!=0: s=str(v%7)+s v=v//7 s1='' v1=a[i+1] while v1!=0: s1=str(v1%7)+s1 v1=v1//7 if ((a[ i]>cymma ) or (a[i+1]>cymma )) and (s.count('36')>0 or s1.count('36')>0) : c.append(a[ i]+a[i+1]) print(len(c),min(c))



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