👤

Tipăriţi toate numerele prime aflate între două numere naturale citite.
Am rezolvarea aceasta:
a=int(input('a='))
b=int(input('b='))
for i in range(a+1,b):
prim=True
for j in range(2,int(i/2)+1):
if i%j==0:
prim=False
if prim:
print(i)

Problema e ca daca a=1 si b=10, imi afiseaza 2, 3, 5, 7 dar daca scriu a=10 si b=1 nu imi mai afiseaza nimic. Se poate o rezolvare in care sa imi arate numerele si cand a>b? Am pus tot felul de conditii, dar tot nu imi arata numerele cand a>b


Răspuns :

a=int(input('a='))

b=int(input('b='))

if a>b:

   aux = a

   a = b

   b = aux

for i in range(a+1,b):

   prim=True

   for j in range(2,int(i/2)+1):

       if i%j==0:

           prim=False

   if prim:

       print(i)

► EXPLICATIE :

Daca a>b atunci facem interschimbarea variabilelor.

Vezi imaginea ANDREI750238
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, vă rugăm să ne contactați. Revenirea dumneavoastră ne va bucura, iar pentru acces rapid, nu uitați să ne salvați la favorite!


En Trainingsy: Alte intrebari