0271 - S Sume: Difference between revisions
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... |
No edit summary |
||
Line 5: | Line 5: | ||
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 prin spaţii. | 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 prin spaţii. | ||
==Date de ieșire== | ==Date de ieșire== | ||
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse." | |||
Pe următorul rând se va afișa numărul <code>C</code>, numărul de elemente ale tabloului care se pot scrie ca sumă a altor două elemente aflate pe poziţii distincte din tablou. | |||
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse." | |||
==Restricții și precizări== | ==Restricții și precizări== | ||
Line 46: | Line 50: | ||
if not conditii(n, tablou): | if not conditii(n, tablou): | ||
return print(" | return print("Datele de intrare nu corespund restricțiilor impuse.") | ||
print("Datele de intrare corespund restricțiilor impuse.") | |||
sume = 0 | sume = 0 |
Revision as of 10:44, 26 March 2023
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
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."
Pe următorul rând se va afișa 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.
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."
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("Datele de intrare nu corespund restricțiilor impuse.") print("Datele de intrare corespund restricțiilor impuse.")
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>