Cod sursa(job #193776)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 6 iunie 2008 23:25:48
Problema Nunta Scor 80
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.86 kb
const base=10;
type numar=array[0..100] of longint;
var fib:array[0..110] of numar;
b:array[0..100,0..100] of numar;
j,i,n:longint;
f,g:text;

procedure increm(var a,b:numar);
var i:longint;
begin
if b[0]>a[0] then a[0]:=b[0];
for i:=1 to a[0] do begin
 inc(a[i],b[i]);
 if a[i]>=base then begin
               dec(a[i],base);
               inc(a[i+1]);
               end;
end;
if a[a[0]+1]>0 then inc(a[0]);
end;

procedure init(var a:numar; k:longint);
begin
a[0]:=1;
a[1]:=k;
end;

procedure scrie(var a:numar);
var i:longint;
begin
for i:=a[0] downto 1 do write(g,a[i]);
writeln(g);
end;

begin
assign(f,'nunta.in');reset(f);
assign(g,'nunta.out');rewrite(g);
read(f,n);
init(fib[1],1);
init(fib[2],2);
for i:=3 to n+1 do
 begin
 increm(fib[i],fib[i-1]);
 increm(fib[i],fib[i-2]);
 end;
scrie(fib[n]);
close(f);
close(g);
end.