Cod sursa(job #733153)

Utilizator elffikkVasile Ermicioi elffikk Data 11 aprilie 2012 16:00:48
Problema Ciurul lui Eratosthenes Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.57 kb
var a:array[1..1000000] of boolean;
n:longint;

procedure init;
var f:text; i:longint;
begin
  assign(f, 'ciur.in');
  reset(f);
  read(f,n);
  close(f);
  for i:=1 to n do a[i]:=true;
end;

procedure ciur;
var i,j:longint;
begin
  for i:=2 to trunc(sqrt(n)) do
    if a[i] then
    for j:=2 to n div i do
      a[i*j]:=false;
end;

procedure fin;
var f:text; i,k:longint;
begin
  k:=0;
  for i:=2 to n do
    if a[i] then inc(k);
  assign(f, 'ciur.out');
  rewrite(f);
  write(f,k);
  close(f);
end;

begin
  init;
  ciur;
  fin;
end.