0374 - N Prime 1

From Bitnami MediaWiki
Revision as of 16:26, 28 April 2023 by Robert Manc (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dă numărul natural n. Să se afișeze numerele naturale prime mai mici sau egale cu n.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieşire

Programul afișează pe ecran numerele naturale prime mai mici decât n în ordine crescătoare, separate prin exact un spațiu.

Restricții și precizări

  • n ∈ Ν
  • 2 ⩽ n ⩽ 1.000

Exemplu1

Intrare
15
Ieșire
Datele de intrare corespund restricțiilor impuse.
2 3 5 7 11 13

Exemplu2

Intrare
11
Ieșire
Datele de intrare corespund restricțiilor impuse.
2 3 5 7 11

Rezolvare

<syntaxhighlight lang="python" line> def validare_date(n):

   flag = False
   if 2 <= int(n) <= 1_000:
       flag = True
   return flag


def prime_mai_mici(n):

   for i in range(2, n + 1):
       prim = True
       for j in range(2, int(i ** 0.5) + 1):
           if i % j == 0:
               prim = False
               break
       if prim:
           print(i, end=' ')


if __name__ == '__main__':

   n = int(input())
   if validare_date(n):
       print("\nDatele de intrare corespund restrictiilor impuse.\n")
       prime_mai_mici(n)
   else:
       print("Datele de intrare nu corespund restrictiilor impuse.")

</syntaxhighlight>

Explicație

Codul citește un număr întreg n și verifică dacă se încadrează în anumite restricții. Funcția prime_mai_mici afișează toate numerele prime mai mici sau egale cu n folosind două bucle for: o buclă for se ocupă de numerele de la 2 la n și o altă buclă for verifică dacă fiecare număr este prim prin testarea tuturor divizorilor săi posibili. Dacă numărul este prim, se afișează. Dacă datele de intrare nu respectă restricțiile impuse, se afișează un mesaj corespunzător.