4025 - Doua Mii 22

From Bitnami MediaWiki
Revision as of 12:56, 5 January 2024 by Ramona Dragoș (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința[edit]

Se dau K numere naturale nenule, mai mici sau egale cu 20222022. Pentru fiecare număr n dintre acestea, se cere aflarea celui de-al n-lea număr natural prim cu 2022.

Date de intrare[edit]

Programul citește de la tastatură numărul K, iar apoi K numere naturale, separate prin spații.

Date de ieșire[edit]

Programul va afișa pe ecran, pentru fiecare număr n dintre cele K numere date, al n-lea număr natural, prim cu 2022.

Restricții și precizări[edit]

  • 1 ⩽ K ⩽ 2022
  • cele K numere citite vor fi mai mici sau egale cu 20222022

Exemplu 1[edit]

Intrare
3
4 23 198
Ieșire
11 67 595


Explicatie[edit]

Şirul numerelor naturale, prime cu 2022, este format din numerele: 1, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, ....

Exemplu 2[edit]

Intrare
0
Ieșire
Datele introduse nu respecta restrictiile.


Rezolvare[edit]

<syntaxhighlight lang="python" line>

  1. 4025 - DouaMii22

def este_prim_cu_2022(numar):

   if numar < 2:
       return False
   for i in range(2, int(numar**0.5) + 1):
       if numar % i == 0:
           return False
   return True

def afla_n_prim_cu_2022(n):

   numar = 1
   numere_prim_cu_2022 = []
   while len(numere_prim_cu_2022) < n:
       if este_prim_cu_2022(numar):
           numere_prim_cu_2022.append(numar)
       numar += 1
   return numere_prim_cu_2022[-1]

try:

   # Citirea datelor de intrare
   k = int(input("Introduceti numarul K: "))
   if 1 <= k <= 2022:
       numere = list(map(int, input(f"Introduceti cele {k} numere, separate prin spatiu: ").split()))
       # Verificarea și afișarea rezultatelor
       for n in numere:
           if 1 <= n <= 20222022:
               rezultat = afla_n_prim_cu_2022(n)
               print(f"Pentru n={n}, al {n}-lea numar prim cu 2022 este: {rezultat}")
           else:
               print("Datele introduse nu respecta restrictiile.")
               break
   else:
       print("Datele introduse nu respecta restrictiile.")

except ValueError:

   print("Datele introduse nu sunt valide.")

</syntaxhighlight>