0908 - AfisareNumerePrime
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>