Cod sursa(job #718256)
| Utilizator | Data | 20 martie 2012 17:34:26 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
Program ciur;
var a:array[1..2000000] of boolean;
i,j:longint;
n,t:int64;
f,q:text;
begin
assign(f,'ciur.in');
reset(f);
assign(q,'ciur.out');
rewrite(q);
readln(f,n);
for i:=1 to n do a[i]:=true;
t:=n-1;
for i:=2 to n div 2 do
begin
if a[i]=true then
begin
j:=i*2;
while j<=n do
begin
if a[j]=true then begin t:=t-1; a[j]:=false; end;
j:=j+i;
end;
end;
end;
writeln(q,t);
close(f);
close(q);
end.
