Cod sursa(job #1244262)

Utilizator BanhidiBanhidi Zoltan Banhidi Data 16 octombrie 2014 23:37:30
Problema Fractii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.94 kb
program fractii;

type tort=record
	p,q: integer;
	end;
     vektor=array[1..1000] of tort;

var t: vektor;
    s: tort;
    n,i,j,m,k: integer;
    f: text;

function lnko(a,b: integer): integer;
begin
while a<>b do
   if a>b
      then a:=a-b
      else b:=b-a;
lnko:=a;
end;

function keres(z: tort; x: vektor; y: integer): boolean;
var i: integer; ok: boolean;
begin
if y=0
   then keres:=false
   else begin
        ok:=false;
        for i:=1 to y do
           if (x[i].p=z.p) and (x[i].q=z.q)
              then ok:=true;
        keres:=ok;
        end;
end;

begin
assign(f,'fractii.in'); reset(f);
read(f,n); close(f); m:=0;
for i:=1 to n do
   for j:=1 to n do begin
      k:=lnko(i,j);
      s.p:=i div k; s.q:=j div k;
      if keres(s,t,m)=false
         then begin
              inc(m); t[m]:=s;
              end;
      end;
assign(f,'fractii.out'); rewrite(f);
write(f,m);
close(f);
end.