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
Sergetec:
intre b = int si for adauga o conditie, daca a > b atunci swap(a, b), iar de acolo codul se continua normal
Răspunsuri la întrebare
Răspuns de
0
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.
Anexe:
Alte întrebări interesante
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Ed. tehnologică,
9 ani în urmă