Cod sursa(job #345245)

Utilizator sapiensCernov Vladimir sapiens Data 2 septembrie 2009 12:37:12
Problema Ciurul lui Eratosthenes Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.54 kb
Program ciur;
 var f,g:text; a:array[2..2000000]of boolean;
     i,k,np,n:longint;
 begin
  assign (f,'ciur.in'); reset (f);
  assign (g,'ciur.out'); rewrite (g);
  readln (f,n);
  i:=2;
  while sqr (i)<=n do begin
    while (sqr (i)<=n) and a[i] do inc (i);
    if sqr (i)<=n then inc (np) else break;
    k:=2;
    while (k*i<=n) do begin
      a[k*i]:=true;
      inc (k);
    end;
    inc (i);
  end;
  while i<=n do begin
    if not a[i] then inc (np);
    inc (i);
  end;
  writeln (g,np);
  close (f); close (g);
 end.