LATGACH - Lát gạch
Tác giả: flashmt
Ngôn ngữ: Pascal
const base=1000000000;
dg=9;
type bignum=array[0..5] of longint;
var n,i,t:longint;
f:array[1..100] of bignum;
procedure plus(var a,b,c:bignum);
var i,mem:longint;
begin
a[0]:=b[0]; mem:=0;
for i:=1 to a[0] do
begin
a[i]:=b[i]+c[i]+mem;
if a[i]>=base then
begin
a[i]:=a[i]-base;
mem:=1
end
else mem:=0;
end;
if mem=1 then
begin
inc(a[0]);
a[a[0]]:=mem;
end;
end;
procedure wf(a:bignum);
var i,j,l:longint; s:string;
begin
for i:=a[0] downto 1 do
begin
if i<a[0] then
begin
str(a[i],s);
l:=length(s);
for j:=l+1 to dg do write(0);
end;
write(a[i]);
end;
writeln;
end;
begin
f[1,0]:=1; f[1,1]:=1;
f[2,0]:=1; f[2,1]:=2;
for i:=3 to 100 do plus(f[i],f[i-1],f[i-2]);
read(t);
for i:=1 to t do
begin
read(n);
wf(f[n]);
end;
end.