Cod sursa(job #95842)

Utilizator juniorOvidiu Rosca junior Data 30 octombrie 2007 12:47:17
Problema Fractii Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.6 kb
var
   fi, fo : text;
   n, i, j, nf, nfi : longint;

function cmmdc (d, i : longint) : longint;
var
	r : longint;
begin
	repeat
  	r := d mod i; d := i; i := r
  until r = 0;
  cmmdc := d
end;

begin
	assign(fi,'fractii.in'); reset(fi);
	assign(fo,'fractii.out'); rewrite(fo);
  read(fi,n);
  nf := 1; // pentru fractia 1/1;
  for i := 2 to n do
  	begin // Determinam numarul de fractii cu numaratorul 1 si numitorul i.
      nfi := 0;
      for j := 1 to i-1 do
      	if cmmdc(i,j) = 1 then
        	inc(nfi);
      nf := nf+2*nfi;
    end;
  write(fo,nf);
	close(fi); close(fo);
end.