0271 - S Sume

From Bitnami MediaWiki
Revision as of 11:13, 24 March 2023 by Ardelean Alexandru (talk | contribs) (Pagină nouă: ==Cerința== Se dă un tablou unidimensional cu <code>n</code> elemente, numere naturale nenule cu cel mult <code>8</code> 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 <code>ssume.in</code> conţine pe prima linie numărul <code>n</code>; urmează cele <code>n</code> elemente ale tabloului, dispuse pe mai multe linii şi separate pri...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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">

  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>