Cod sursa(job #525514)
Utilizator | Data | 25 ianuarie 2011 13:42:23 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
var a:array[1..1000000]of longint;
b:array[1..1000000]of boolean;
i,j,n:longint; k:int64; f:text;
begin
assign(f,'fractii.in');
reset(f);
readln(f,n);
close(f);
for i:=1 to n do begin a[i]:=i; b[i]:=true; end;
for i:=2 to n do
if b[i] then
begin
j:=i;
while j<=n do
begin
b[j]:=false;
a[j]:=a[j]div i * (i-1);
j:=j+i;
end;
end;
k:=1;
for i:=2 to n do k:=k+2*a[i];
assign(f,'fractii.out');
rewrite(f);
writeln(f,k);
close(f);
end.