Кто-то знает в чем проблема?
f = open('17-316.txt')
a = [int(x) for x in f]
c = []
d = []
#9898
for i in range(len(a)-2):
TR = a[i:i + 3]
if sum(TR) > 9898:
for j in range(len(TR)-1):
if TR[j] % 2 == 0 and TR[j+1] % 2 == 0 and (TR[j]+TR[j+1]) % 100 == 44:
d.append(sum(TR))
break
print(len(d), min(d))
Ответ должен получится 212 9932, у меня получается 141 9932.
Ссылка на файл - https://disk.yandex.ru/d/x4qgoyJE5Ok2ng
Ответы (1 шт):
Автор решения: Beret
→ Ссылка
data = [int(x) for x in open("17-316.txt")]
N = len(data)
max202 = max( x for x in data if x % 202 == 0 )
def okPair( a, b ):
return a % 2 == 0 and b % 2 == 0 and \
(a + b) % 100 == 44
def valid( a, b, c ):
return (okPair(a,b) or okPair(a,c) or okPair(b,c)) and \
(a + b + c) > max202
count, mi = 0, None
for i in range(N-2):
s = sum( data[i:i+3] )
if valid( data[i], data[i+1], data[i+2] ):
count += 1
if mi == None or s < mi:
mi = s
print( count, mi )