Bun am vazut p1,p2 si acum cum vad eu daca un numar este prim? eu m-am gandit cu ciurul lui e., dar trebuie sa verific divizorii lui 2 in colo, chiar daca radicalii incep de la 100 de exemplu .... e bine asa?
Mai precis
program ciur2;
var a,b,i,j,p1,p2:longint;
v:array[1..1000000] of longint;
stop:boolean;
begin
write('a=');readln(a);
write('b=');readln(b);
if sqrt(a)=trunc(sqrt(a)) then
p1:=trunc(sqrt(a))
else
p1:=trunc(sqrt(a))+1;
p2:=trunc(sqrt(b));
if p1>p2 then
stop:=false
else
begin
for i:=2 to p2 do
for j:=2 to p2 div 2 do
v[i*j]:=1;
for i:=p1 to p2 do
if v[i]=0 then
begin
stop:=true;
write(sqr(i),' ');
end;
end;
if not stop then
writeln('Nu exista numere cu 3 divizori in intervalul [',a,',',b,']');
readln;
end.
[editat de moderator] daca tot stii sa-ti editezi mesajele, nu mai posta consecutivScuze