0271 - S Sume: Difference between revisions

From Bitnami MediaWiki
No edit summary
Tag: visualeditor
No edit summary
Tag: visualeditor
Line 45: Line 45:




def main():
def ssume(n, tablou):
    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
     sume = 0
     for i in range(n):
     for i in range(n):
Line 64: Line 57:


if __name__ == "__main__":
if __name__ == "__main__":
     main()
     n = int(input())
    tablou = [int(x) for x in input().split()]
 
    if not conditii(n, tablou):
        print("Datele de intrare nu corespund restricțiilor impuse.")
    else:
        print("Datele de intrare corespund restricțiilor impuse.")
        ssume(n, tablou)


</syntaxhighlight>
</syntaxhighlight>

Revision as of 13:45, 29 April 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
Datele de intrare nu corespund restricțiilor impuse.

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 ssume(n, tablou):

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

   n = int(input())
   tablou = [int(x) for x in input().split()]
   if not conditii(n, tablou):
       print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       print("Datele de intrare corespund restricțiilor impuse.")
       ssume(n, tablou)

</syntaxhighlight>