Как сделать чтоб в коде сумма чисел не повторялась?
Дана последовательность N целых положительных чисел. Необходимо определить количество пар элементов этой последовательности, сумма которых делится на m = 80 и при этом хотя бы один элемент из пары больше b = 50.
Дело в том, что код может считать и те суммы чисел, которые уже были.
f = open('####')
s = f.read().split()
count = 0
for i in range(len(s)):
for n in range(len(s)):
a = int(s[i])
if i != n:
b = int(s[n])
sum = a + b
if((sum % 80 == 0) and (a > 50 or b > 50)):
count+=1
print(count)
f.close()
Ответы (1 шт):
Автор решения: Эникейщик
→ Ссылка
Прямолинейный как доска алгоритм:
- Считать сумму каждых двух элементов.
- Если она кратна 80 и (Х или 80-x больше 50), то увеличиваем count на 1.
- В конце разделить count на 2, т.к. каждая пара посчиталась дважды.