Ma poate ajuta cineva cu o explicatie mai detaliata la aceasta rezolvare?
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)
Nu inteleg cum alege programul numerele care sunt prime
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
Explicație:
Primele două linii iți sunt clare, programul citește variabilele
El va afișa toate numerele prime de la A la B
A treia linie începe iterația
Inițial, programul presupune că numărul i este prim
Apoi, ia pe rând fiecare număr de la 2 la i / 2 și încearcă să-l împartă pe i la acel număr
Dacă i se împarte la vreun număr, înseamnă clar că nu este prim, căci numerele prime se împart doar la 1 și la ele însele.
Deci, dacă i nu se împarte la niciun număr între 2 și i / 2, înseamnă că e prim.
Acest proces se repetă pentru fiecare număr de la a la b.
Algoritmul acesta este neeficient, totuși. cel eficient ar rula doar de la 2 la sqrt(i). în fine
infooo3553:
Multumesc mult!
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Geografie,
9 ani în urmă