Pagini recente » Cod sursa (job #2839762) | Cod sursa (job #2928159) | Cod sursa (job #1091789) | Cod sursa (job #331915) | Cod sursa (job #26892)
Cod sursa(job #26892)
program Fractii;
var
p: array[1..1000000] of boolean;
n, k, i: longint;
f: text;
result: int64;
Procedure Erastostene;
var i, j: longint;
begin
p[i] := true;
for i := 2 to n do p[i] := true;
for i := 2 to n do
if p[i] then for j := 2 to (n div i) do p[i * j] := false;
end;
Function Tot(k: longint):longint;
var
r: real;
i: longint;
begin
r := k;
if p[k] then r := k - 1 else
for i := 1 to Round(k / 2) do
If (p[i]) and (k mod i = 0) then r := r * (1 - (1 / i));
Tot := Round(r);
end;
begin
Assign(f, 'fractii.in');
Reset(f);
ReadLn(f,n);
Erastostene;
result := 0;
for i := 2 to n do
result := result + Round(Tot(i));
result := 1 + 2 * result;
Writeln(result);
end.