Cod sursa(job #264886)

Utilizator butler1234Cioc Stefan butler1234 Data 22 februarie 2009 22:06:29
Problema Ciurul lui Eratosthenes Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.09 kb
program ciur;
var s,prim:array[1..10000] of integer;
    n,i,j,cnt,nr,x,k:word;
    f1,f2:text;

begin
assign(f1,'ciur.in'); reset(f1);
assign(f2,'ciur.out'); rewrite(f2);



readln(f1,n);
for i:=2 to n do
  prim[i]:=1;
for i:=2 to n do
   if (prim[i]=1)  then
     begin
     cnt:=cnt+1;
     j:=i+i;
     while j<=n do
     begin
       prim[j]:=0;
       j:=j+i;
       end;
     end;
writeln(f2,cnt);










{nr:=n-1;
fillchar(s,sizeof(s),true);
  for i:=2 to trunc(sqrt(n)) do
    if s[i]=true then
      begin
        k:=i+i;
        while k<=n do
          begin
          if s[k]=true then
           dec(nr);
           s[k]:=false;
           k:=k+i;
           end;
           end;
{p[i]:=2;
nr:=1;
i:=1;
repeat  i:=i+2;
  if viz[i]=0 then
     begin
     nr:=nr+1;
     p[nr]:=i;
     j:=i*i;
     while j<=n do
          begin
          viz[j]:=1;
          j:=j+i;
          end;
          end;
          until i>n-2;
            k:=j;
for j:=1 to k do
  s:=s+viz[j];
  x:=s*2;
writeln(f2,nr); }
close(f1);
close(f2);
end.