Cod sursa(job #1102564)

Utilizator sulzandreiandrei sulzandrei Data 9 februarie 2014 14:18:31
Problema Ciurul lui Eratosthenes Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.51 kb
program ciurulluierathostenes;
var v:array[2..2000000] of boolean;
nr,i,j,n:longint;
f:text;
begin
 assign(f,'ciur.in'); reset(f);
 readln(f,n);
 close(f);
 assign(f,'ciur.out'); rewrite(f);
 i:=3;
 while i<=n do begin
  v[i]:=true;
  inc(i,2);
 end;
 nr:=1;
 i:=3;
 while (i<=trunc(sqrt(n))) do begin
  j:=sqr(i);
  while j<=n do begin
   v[j]:=false;
   inc(j,i);
  end;
  inc(i,2);
 end;
 i:=3;
 while i<=n do begin
  if v[i] then inc(nr);
  inc(i,2);
 end;
 writeln(f,nr);
 close(f);
end.