Cod sursa(job #769238)
Utilizator | t.g.g.t t.g.g.t | Data | 18 iulie 2012 19:26:18 |
---|---|---|---|
Problema | Fractii | Scor | 90 |
Compilator | fpc | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
var a:array[1..1000000]of int64; s:int64; i,n,j:longint; f:text;
begin
assign(f,'fractii.in');reset(f);
read(f,n);
s:=1;a[2]:=1; assign(f,'fractii.out'); rewrite(f);
for i:=2 to n do begin
if a[i]=0 then a[i]:=i-1;
s:=s+2*a[i];
if i<(n div 2)+1 then begin j:=2*i;
while j<=n do begin
if a[j]=0 then a[j]:=j-1-a[i]
else a[j]:=a[j]-a[i];
j:=j+i
end; end;
end;
writeln(f,s); close(f);
end.