Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Bitnami MediaWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
1408 - Numere 10
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Cerinţa == Se dau '''nr''' numere naturale. Calculați câte dintre ele sunt prime, cel mai mare și cel mai mic număr prim. == Date de intrare == Programul citește de la tastatură numărul '''nr''', iar apoi '''nr''' '''numere''' naturale. == Date de ieşire == Programul va afișa pe ecran numărul '''numere_prime''', '''min_prim''', '''max_prim''', reprezentând câte dintre numerele date sunt prime, cel mai mic și cel mai pare număr prim. == Restricții și precizări == * '''nr ∈ Ν''' * '''1 ⩽ nr ⩽ 10.000''' * cele '''nr''' '''numere''' citite vor fi mai mici decât '''1.000.000.000''' * în fiecare test va exista cel puțin un număr prim == Exemplu1 == ; Intrare : 9 : 7 3 10 17 14 1 9 3 13 ; Ieșire : Datele de intrare corespund restricțiilor impuse. : 5 3 17 == Exemplu2 == ; Intrare : 10 : 77 64 39 81 6 15 3 79 94 32 ; Ieșire : Datele de intrare corespund restricțiilor impuse. : 2 3 79 == Rezolvare == <syntaxhighlight lang="python" line> def validare_date(nr, numere): flag = False if 0 < int(nr) <= 10_000: flag = all(isinstance(x, int) and 1 <= x <= 1_000_000_000 for x in numere) return flag def verif_prim(n): if n <= 1: return False else: for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False else: return True def numarare_prim(numere): numere_prime = 0 for numar in numere: if verif_prim(numar): numere_prime += 1 return numere_prime def gaseste_min_max_prim(numere): numere_prime = numarare_prim(numere) min_prim = None max_prim = None for numar in numere: if verif_prim(numar): if min_prim is None or numar < min_prim: min_prim = numar if max_prim is None or numar > max_prim: max_prim = numar print(numere_prime, min_prim, max_prim) if __name__ == '__main__': nr = int(input()) numere = list(map(int, input().split())) if validare_date(nr, numere): print("\nDatele de intrare corespund restrictiilor impuse.\n") gaseste_min_max_prim(numere) else: print("Datele de intrare nu corespund restrictiilor impuse.") </syntaxhighlight> == Explicație == Acest program primește ca date de intrare un număr întreg '''nr''' urmat de o listă de '''nr''' numere întregi '''numere'''. Programul validează datele de intrare și afișează numărul total de numere prime din listă și cel mai mic și cel mai mare număr prim din listă. Funcția '''verif_prim''' verifică dacă un număr '''n''' este prim sau nu. Funcția '''numarare_prim''' numără numerele prime din lista de numere primite ca parametru, iar funcția '''gaseste_min_max_prim''' găsește cel mai mic și cel mai mare număr prim din listă. În funcția '''gaseste_min_max_prim''', numărul total de numere prime este calculat utilizând funcția '''numarare_prim'''. Prin iterarea prin lista de numere, se găsesc cele mai mici și cele mai mari numere prime din listă. Acestea sunt stocate în variabilele '''min_prim''' și '''max_prim''', respectiv. Dacă niciun număr prim nu este găsit, '''min_prim''' și '''max_prim''' rămân '''None'''. La final, cele trei valori (numărul total de numere prime și cele mai mici și cele mai mari numere prime) sunt afișate.
Summary:
Please note that all contributions to Bitnami MediaWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Toggle limited content width