0510 - Sort Prime: Difference between revisions
Line 19: | Line 19: | ||
==Exemplu 2== | ==Exemplu 2== | ||
; Intrare | ; Intrare | ||
5 | |||
3 10 15 32 5 | |||
; Iesire | ; Iesire | ||
3 5 | |||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> |
Latest revision as of 22:36, 14 November 2023
Cerinţa[edit | edit source]
Se dă un vector cu n elemente, numere naturale. Afișați în ordine crescătoare valorile prime din acest vector.
Date de intrare[edit | edit source]
Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele vectorului.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran valorile prime din vector, în ordine crescătoare, separate prin exact un spațiu.
Restricţii şi precizări[edit | edit source]
- 1 ≤ n ⩽ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000
Exemplu 1[edit | edit source]
- Intrare
7 13 1 10 15 3 7 11
- Ieșire
3 7 11 13
Exemplu 2[edit | edit source]
- Intrare
5 3 10 15 32 5
- Iesire
3 5
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line>
def este_prim(numar): if numar <= 1: return False for i in range(2, int(numar ** 0.5) + 1): if numar % i == 0: return False return True
if __name__ == "__main__":
while True: try: n = int(input("Introduceti numarul de elemente din vector (1-1000): ")) if 1 <= n <= 1000: break else: print("Numarul de elemente trebuie sa fie intre 1 si 1000. Va rugam reintroduceti.") except ValueError: print("Va rugam introduceti un numar valid.")
vector = [] for _ in range(n): while True: try: numar = int(input("Introduceti un numar natural: ")) if numar >= 0 and numar <= 1000000000: vector.append(numar) break else: print("Numarul trebuie sa fie intre 0 si 1000000000. Va rugam reintroduceti.") except ValueError: print("Va rugam introduceti un numar valid.")
valorile_prime = [numar for numar in vector if este_prim(numar)] valorile_prime.sort() # Sort1ăm valorile prime în ordine crescătoare
print("Valorile prime din vector, în ordine crescătoare, sunt:") print(*valorile_prime)
</syntaxhighlight>
Explicație[edit | edit source]
Programul utilizează funcția este_prim pentru a verifica fiecare număr din vector și pentru a determina care sunt prime. Valorile prime sunt stocate în lista valorile_prime. Apoi, lista valorile_prime este sortată în ordine crescătoare. Aceste valori prime sunt apoi afișate pe ecran, separate prin spațiu.