0271 - S Sume
Cerința
Se dă un tablou unidimensional cu n
elemente, numere naturale nenule cu cel mult 8
cifre fiecare. Determinaţi câte dintre elementele tabloului se pot scrie ca sumă a altor două elemente aflate pe poziţii distincte din tablou.
Date de intrare
Fişierul de intrare ssume.in
conţine pe prima linie numărul n
; urmează cele n
elemente ale tabloului, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieșire
Fişierul de ieşire ssume.out
va conţine pe prima linie numărul C
, numărul de elemente ale tabloului care se pot scrie ca sumă a altor două elemente aflate pe poziţii distincte din tablou.
Restricții și precizări
1 ≤ n ≤ 100
Exemplu 1
- Intrare
- 7
- 1 10 25 6 2 15 3
- Ieșire
- 2
Explicație
25=10+15
, 3=1+2
.
Exemplu 2
- Intrare
- 101
- 1 2 3 4 5
- Ieșire
- Date de intrare gresite!
Rezolvare
<syntaxhighlight lang="python" line="1">
- 0271 S Sume
def conditii(n, tablou):
restrictii = ( 1 <= n <= 10, len(tablou) == n )
return all(restrictii)
def main():
n = int(input()) tablou = [int(x) for x in input().split()]
if not conditii(n, tablou): return print("Date de intrare gresite!")
sume = 0 for i in range(n): for j in range(n): for h in range(j + 1, n): if i != j and i != h and tablou[j] + tablou[h] == tablou[i]: sume += 1
print(sume)
if __name__ == "__main__":
main()
</syntaxhighlight>