Cod sursa(job #170624)

Utilizator valytgjiu91stancu vlad valytgjiu91 Data 2 aprilie 2008 22:56:21
Problema Ciurul lui Eratosthenes Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.96 kb
 var f,g:text;
     p:array[2..2000000] of 0..1;
     n,i,j,d,m:longint;
 begin
 assign(f,'ciur.in');
 reset(f);
 readln(f,n);
 close(f);
 m:=n-1;
 fillchar(p,n-1,1);
 d:=2;
 while d<=n do
 begin
   while p[d]=0 do d:=d+1;
   j:=d+d;
   while j<=n do
     begin
      if p[j]=1 then
                begin
                dec(m);
                p[j]:=0;
                end;
      j:=j+d;
     end;
   d:=d+1;
 end;
 assign(g,'ciur.out');
 rewrite(g);
 write(g,m);                           {
 if m<=1000 then
                for i:=2 to n do
#                      begin
#                      if p[i]=1 then write(g,i,' ');end
#             else  for i:=2 to n do
#                       if p[i]=1 then begin
#                              if m<=1000 then
#                                          write(g,i,' ')
#                                          else dec(m);
#                                          end;   }
 close(g);
 end.