0908 - AfisareNumerePrime

From Bitnami MediaWiki
Revision as of 17:51, 2 April 2023 by Cuceu Andrei (talk | contribs) (Pagină nouă: ==Cerință== Scrieți definiția completă a funcției Python '''afisare''' care primește doi parametri '''a''' și '''b''' și afișează pe ecran, în ordine crescătoare, numerele naturale prime cuprinse între '''a''' și '''b''', inclusiv acestea. ==Restricții de precizări== *numele funcției va fi '''afisare''' *funcția va avea exact doi parametri: '''a''', respectiv '''b''' *'''0 < a , b <= 1000''' *numerele vor fi afișate pe aceeași linie, separate prin câ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință

Scrieți definiția completă a funcției Python afisare care primește doi parametri a și b și afișează pe ecran, în ordine crescătoare, numerele naturale prime cuprinse între a și b, inclusiv acestea.


Restricții de precizări

  • numele funcției va fi afisare
  • funcția va avea exact doi parametri: a, respectiv b
  • 0 < a , b <= 1000
  • numerele vor fi afișate pe aceeași linie, separate prin câte un spațiu


Exemplu

Dacă a=7 și b=2, apelul subprogramului va afișa pe ecran:

2 3 5 7


Important

Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.


Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1">

def afisare(a, b):

   # declaram o lista goala pentru a stoca numerele prime gasite
   primes = []
   
   # iteram prin toate numerele de la a la b inclusiv
   for num in range(a, b+1):
       # verificam daca numarul este mai mare decat 1
       if num > 1:
           is_prime = True
           # verificam daca numarul este prim
           for i in range(2, int(num ** 0.5) + 1):
               if num % i == 0:
                   is_prime = False
                   break
           # daca numarul este prim, il adaugam la lista de numere prime
           if is_prime:
               primes.append(num)
   
   # afisam lista de numere prime folosind argumentul special * pentru a afisa fiecare element din lista separat prin spatiu
   print(*primes)

if __name__ == '__main__':

   # citim valorile pentru a si b de la tastatura
   a = int(input("Introduceti valoarea pentru a: "))
   b = int(input("Introduceti valoarea pentru b: "))
   
   # verificam daca valorile pentru a si b sunt valide (intre 1 si 1000)
   if a <= 0 or b <= 0 or a > 1000 or b > 1000:
       print("a si b trebuie sa fie numere intre 1 si 1000")
   else:
       # apelam functia afisare cu valorile a si b
       afisare(a, b)


</syntaxhighlight>