1 câu trả lời
uses crt;
var n,i,j,nho:longint; a:array[1..10000,1..10000]of longint;
b:array[1..10000] of longint;
begin
clrscr;
write('n=');readln(n);
a[1,1]:=1; b[1]:=1; b[2]:=1; a[2,1]:=1;
for i:=3 to n do
begin
nho:=0;
b[i]:=b[i-1];
for j:=1 to b[i-1] do
begin
a[i,j]:=a[i-1,j]+a[i-2,j]+nho;
if a[i,j]>9 then begin a[i,j]:=a[i,j]mod 10; nho:=1; end else
nho:=0;
end;
if nho=1 then begin inc(b[i]); a[i,b[i]]:=1; end;
end;
for j:=b[n] downto 1 do write(a[n,j]);
readln
end.
///////////////////////////////
Mình dùng cách cộng 2 số lớn(sử dụng array) nên cho phép sử lý tới số 10000
Text:
Cái hình tràn số là kết quả của n=10000