Pagini recente » Cod sursa (job #1195638) | Cod sursa (job #2098827) | Cod sursa (job #357962) | Cod sursa (job #1253452) | Cod sursa (job #523774)
Cod sursa(job #523774)
var a:array[0..9,1..1000000]of integer;
n:longint; s:int64;
procedure init;
var f:text; i,j:longint;
begin
assign(f, 'fractii.in');
reset(f);
read(f,n);
close(f);
s:=0;
for i:=0 to 9 do
for j:=1 to n do
a[i,j]:=0;
end;
procedure rez;
var f:text;
begin
assign(f, 'fractii.out');
rewrite(f);
write(f,s);
close(f);
end;
procedure calc;
var i,j,k,s1:longint;
begin
for i:=2 to 1000 do
if a[0,i]=0
then begin
j:=i*2;
while j<=n do
begin
inc(a[0,j]);
a[a[0,j],j]:=i;
inc(j,i);
end;
end;
s:=2*n-1;
for i:=2 to n do
if a[0,i]=0
then
begin
s:=s+(n-i-(n-i)div i)*2;
{write(n-i-(n-i)div i,' ');}
end
else
begin
s1:=0;
for k:=1 to a[0,i] do s1:=s1+(n-i)div a[k,i];
for k:=1 to a[0,i]-1 do
for j:=k+1 to a[0,i] do
s1:=s1-(n-i)div(a[k,i]*a[j,i]);
{write(n-i-s1,' ');}
s:=s+(n-i-s1)*2;
end;
end;
begin
init;
calc;
rez;
end.