0415 - unique: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
Line 26: Line 26:
===Exemplul 3===
===Exemplul 3===
; Intrare
; Intrare
: 100 99 2615 1231 1412 31
: 100 100 100 100 100 100 200 200
; Ieșire
; Ieșire
: Datele sunt corecte.
: Datele sunt corecte.

Revision as of 14:03, 12 March 2023

Sursa: Unique


Cerinţa

Dându-se un șir de numere naturale, să se determine câte dintre ele apar o singură dată.

Date de intrare

Programul citește de la tastatură cel mult 1.000.000 de numere naturale.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt corecte.", iar apoi se va afișa pe ecran numărul de numere care apar o singură dată în șir. În caz contrar, se va afișa pe ecran: "Datele nu sunt comform restricțiilor impuse.".

Restricţii şi precizări

  • numerele citite vor fi mai mici decât 200.000
  • în șir sunt cel puțin un număr și cel mult 1.000.000 de numere naturale

Exemple

Exemplul 1

Intrare
5 4 3 2 3 3 5 6 4 3 3
Ieșire
Datele sunt corecte.
2

Exemplul 2

Intrare
1234542 34 1 2 313 231 31
Ieșire
Datele nu corespund restricțiilor impuse.

Exemplul 3

Intrare
100 100 100 100 100 100 200 200
Ieșire
Datele sunt corecte.
0


Rezolvare

<syntaxhighlight lang="python" line>

  1. 4015 unique

def numarare_elemente(vector):

   numar_unice = 0
   for i in range(len(vector)):
       if vector.count(i) == 1:
           numar_unice += 1
   print(numar_unice)


def conform_restrictiilor():

   vector = list(map(int, input().split()))
   for x in vector:
       if x > 200000:
           print("Datele nu sunt comform restricțiilor impuse.")
           exit()
   if len(vector) > 1000000 or len(vector) == 0:
       print("Datele nu sunt comform restricțiilor impuse.")
       exit()
   print("Datele sunt corecte.")
   return vector


if __name__ == '__main__':

   vector = conform_restrictiilor()
   numarare_elemente(vector)




</syntaxhighlight>