题
1、楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法。
function Way(n) local ans = {} if n == 1 then table.insert(ans,{1}) return ans elseif n == 2 then local tmp1 = {1, 1} local tmp2 = {2} table.insert(ans, tmp1) table.insert(ans, tmp2) return ans; else local ans1 = Way(n-1) for i , v in pairs(ans1) do table.insert( ans1[i], 1) table.insert(ans, ans1[i]) end local ans2 = Way(n-2) for i , v in pairs(ans2) do table.insert( ans2[i], 2) table.insert(ans, ans2[i]) end return ans end end ans = Way(10) for i,v in pairs(ans) do print( "solve " .. i .. ": ".. table.concat(ans[i], "-") ) end

浙公网安备 33010602011771号