Требуется найти n-ое число в последовательности простых чисел. n < 1000000. Помогите пожалуйста.
Ответы на вопрос
Ответил petyaGavrikov
0
var n,p,k,i,j:integer; f:boolean;
begin
write('n = ');
readln(n);
p:=2;
for i:=2 to n do
begin
f:=false;
while not f do
begin
p:=p+1;
k:=0;
for j:=2 to round(sqrt(p)) do
if p mod j = 0 then k:=k+1;
f:=k=0;
end;
end;
writeln(p);
end.
Пример:
n = 25
97
begin
write('n = ');
readln(n);
p:=2;
for i:=2 to n do
begin
f:=false;
while not f do
begin
p:=p+1;
k:=0;
for j:=2 to round(sqrt(p)) do
if p mod j = 0 then k:=k+1;
f:=k=0;
end;
end;
writeln(p);
end.
Пример:
n = 25
97
Ответил petyaGavrikov
0
Можно использовать решето Аткина. Для Вашей задачи подойдет. Очень быстро считает и до 1000000 и больше.
Новые вопросы