Cod sursa(job #182348)

Utilizator radu_voroneanuVoroneanu Radu Stefan radu_voroneanu Data 20 aprilie 2008 18:56:00
Problema Nunta Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
type nr=array[0..210] of byte;

var a,b,c:nr;
    f,g:text;
    i,n:longint;

procedure adun;
 var i,t:longint;
 begin
  t:=0; i:=1;
  while (i<=b[0]) or (t<>0) do begin
   t:=t+a[i]+b[i];
   c[i]:=t mod 10;
   inc(i);
   t:=t div 10;
  end;
  c[0]:=i-1;
 end;

procedure trans(var a:nr; b:nr);
 var i:longint;
 begin
  for i:=1 to b[0] do
   a[i]:=b[i];
  for i:=b[0]+1 to a[0] do
   a[i]:=b[i];
  a[0]:=b[0];
 end;
begin
 assign(f,'nunta.in'); reset(f);
 assign(g,'nunta.out'); rewrite(g);
 read(f,n);
 a[0]:=1; a[1]:=1; b[1]:=2; b[0]:=1;
 if n=1 then
  writeln(g,1)
 else
  if n=2 then
   writeln(g,2)
  else begin
   for i:=3 to n do begin
    adun;
    trans(a,b);
    trans(b,c);
   end;
   for i:=c[0] downto 1 do
    write(g,c[i]);
   writeln(g);
  end;
 close(f); close(g);
end.