Cod sursa(job #598653)

Utilizator Dragan_ValentinDragan Valentin Dragan_Valentin Data 26 iunie 2011 17:26:13
Problema Ciurul lui Eratosthenes Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.67 kb
var i,n,nr:integer;
	a:array[1..1000] of boolean;
    f:text;

function prime(i:integer):boolean;
	var j,nr:integer;
begin
nr:=0;
for j:=2 to trunc(sqrt(i)) do
	if i mod j = 0 then begin
						inc(nr);
						break;
						end;
if nr=0 then prime:=true
else prime:=false;
end;

procedure mark(i:integer);
var d:integer;
begin
d:=2;
while i*d<=n do begin
a[d*i]:=false;
inc(d);
end;
end;

begin
nr:=0;
assign(f,'ciur.in');
reset(f);
read(f,n);
close(f);
fillchar(a,sizeof(a),true);
a[1]:=false;

for i:=2 to n do
	if (a[i]) then begin
							  inc(nr);
							  mark(i);		
 							  end
	else a[i]:=false;
assign(f,'ciur.out');
rewrite(f);
write(f,nr);
close(f);
end.