Автор | Сообщение |
|
Отправлено: 06.03.22 09:14. Заголовок: задание 17 № 256
В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов больше, чем наибольшее из всех чисел в файле, делящихся на 107, и в семеричной записи хотя бы одного элемента из двух содержится сочетание цифр 36. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Написала следующий код решения, и не понимаю, что я упускаю, ответ не сходится. Помогите разобраться 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))
|
|
|
Ответов - 2
[только новые]
|
|
|
| Администратор
|
Сообщение: 3357
|
|
Отправлено: 06.03.22 22:45. Заголовок: Проверьте результаты..
Проверьте результаты перевода чисел в семеричную систему. Там несколько ошибок.
|
|
|
|
Отправлено: 08.03.22 21:55. Заголовок: f=open('17-243.t..
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))
|
|
|
|