Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить задачу.

Андрей Пушин Профи (505), открыт 2 недели назад
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите количество четверок последовательности, в которых только два элемента являются трехзначными числами, ровно один элемент делится на 18, а сумма элементов делится на сумму двух минимальных положительных элементов последовательности, кратных 17, и произведение элементов не превосходит квадрат максимального элемента последовательности, оканчивающегося на 69. В ответе запишите количество найденных четверок чисел, затем минимальный из квадратов сумм элементов таких четверок. В данной задаче под четверкой подразумевается четыре идущих подряд элемента последовательности.

Вот такой код у меня получился
def f(x):
if len(str(x)) == 3:
return 1
else:
return 0
def fa(y):
if y % 18 == 0:
return 1
else:
return 0


ans = []
a = list(map(int,open('17 задание.txt')))
max69 = max([l for l in a if l %100 == 69])
n = sorted([l for l in a if l > 0])
for x in range(len(n)):
for y in range(x + 1, len(n)):
if (n[x] + n[y]) % 17 == 0:
s = n[x] + n[y]
break
break
for i in range(len(a)-3):
if ((f(abs(a[i])) + f(abs(a[i+1])) + f(abs(a[i+2])) + f(abs(a[i+3]))) == 2) \
and ((fa(abs(a[i])) + fa(abs(a[i+1])) + fa(abs(a[i+2])) + fa(abs(a[i+3]))) == 1) \
and (abs((a[i] + a[i+1] + a[i+2] + a[i+3])) % s == 0) \
and (a[i] * a[i+1] * a[i+2] * a[i+3]) < max69**2:
ans.append((a[i] + a[i+1] + a[i+2] + a[i+3])**2)
print(len(ans),min(ans))

У меня выводит 20, 73984, А ответ 10, 73984

Помогите, пожалуйста, найти ошибку в коде.
0 ответов
Похожие вопросы