爬楼梯 一次走1阶或者2阶。打印出爬楼梯过程
例子 爬3楼
111 12 21三种爬方式
递归代码
local q={0,0,0,0,0,0,0,0,0};
local x=3;
num=1;
print("ANSWER")
function A(n)
if(n==x)then
for j,v in ipairs(q) do
if(v~=0)then
print(v);
end;
end;
print('\n');
for j=num-1, x,1 do
q[j]=0;
end;
else
for i=1,2,1 do
if(n+i<=x) then
q[num]=i;
num=num+1;
A(n+i);
num=num-1;
end
end
end
end
A(0);
过程就是 函数A(n)
n代表当前阶梯数。到达目的之前。判断一下下一步是否合法,合法就进入A(n+1) 和A(n+2),还要把当前这一次走的步数存进表里。 当到达目的 就打印表也就是里面存的每一步的走法,再把不用的数据清零。接着走 直到走完所有方法