3291 - Memory010

From Bitnami MediaWiki
Revision as of 13:53, 26 October 2023 by Ghisa Catalin (talk | contribs) (Pagină nouă: == Cerinţa == Se citesc numere naturale cuprinse între '''1''' și '''30.000.000''' până la întâlnirea numărului '''0'''. Să se afișeze valoarea duplicat. == Date de intrare == Programul citește de la tastatură maxim '''1.000.000''' de numere cuprinse între '''1''' și '''30.000.000'''. == Date de ieșire == Programul va afișa pe ecran numărul '''d''', reprezentând valoarea duplicată. == Restricţii şi precizări == * între numerele citite se află cu sigura...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se citesc numere naturale cuprinse între 1 și 30.000.000 până la întâlnirea numărului 0. Să se afișeze valoarea duplicat.

Date de intrare

Programul citește de la tastatură maxim 1.000.000 de numere cuprinse între 1 și 30.000.000.

Date de ieșire

Programul va afișa pe ecran numărul d, reprezentând valoarea duplicată.

Restricţii şi precizări

  • între numerele citite se află cu siguranță un număr duplicat

Exemplu

Intrare
12 3 8 10 5 8 2 0
Iesire
8

Rezolvare

<syntaxhighlight lang="python" line> def find_duplicate(numbers):

   numere_intalnite = set()  # Creăm un set pentru a urmări numerele întâlnite
   for numar in numbers:
       if numar in numere_intalnite:  # Dacă numărul a fost întâlnit deja
           return numar  # Returnăm numărul duplicat
       numere_intalnite.add(numar)  # Altfel, adăugăm numărul în set
   return None  # Dacă nu găsim niciun număr duplicat, returnăm None

def main():

   numere = []
   while True:
       numar = int(input("Introduceți un număr (0 pentru a opri citirea): "))
       if numar == 0:
           break  # Ieșim din buclă dacă se introduce 0
       numere.append(numar)  # Adăugăm numărul în lista numere
   duplicat = find_duplicate(numere)  # Căutăm valoarea duplicat
   if duplicat is not None:  # Dacă am găsit un duplicat
       print("Valoarea duplicat este:", duplicat)
   else:
       print("Nu s-a găsit niciun număr duplicat.")  # Altfel, afișăm un mesaj

if __name__ == "__main__":

   main()

</syntaxhighlight>