Cod sursa(job #365007)
Utilizator | Data | 17 noiembrie 2009 17:18:22 | |
---|---|---|---|
Problema | Fractii | Scor | 0 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
program eratostene;
var a:array[1..1000000]of longint;
n,i,j,s:longint;
f:text;
begin
assign(f,'fractii.in');
reset(f);
readln(f,n);
close(f);
a[1]:=n;
for i:=2 to n do
a[i]:=n-1;
i:=2;
while i<=n div 2 do
begin
if a[i]=n-1 then
for j:=1 to n div i do
a[i*j]:=a[i*j]-n div i+1;
inc(i);
end;
s:=0;
for i:=1 to n do
s:=s+a[i];
assign(f,'fractii.out');
rewrite(f);
writeln(f,s);
close(f);
end.