Cod sursa(job #878990)
| Utilizator | Data | 14 februarie 2013 21:17:54 | |
|---|---|---|---|
| Problema | Fractii | Scor | 0 |
| Compilator | fpc | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
var i,s,n:integer; f,g:text;
function cmmdc(p,q:integer):integer;
var r:integer;
begin
while(p>0)do
begin
r:=q mod p;
q:=p;
p:=r;
end;
cmmdc:=q;
end;
function ff(n:integer):integer;
var k,j:integer;
begin
k:=0;
if (n=3)or(n=2) then k:=0
else for j:=2 to n-1 do
if cmmdc(j,n)>1 then k:=k+1;
ff:=k;
end;
begin
assign(f,'fractii.in');reset(f);
assign(g,'fractii.out');rewrite(g);
readln(f,n);
s:=2*n-1;
for i:=n downto 2 do
s:=s+2*(i-2-ff(i));
write(g,s);
close(f);
close(g);
end.
