码迷,mamicode.com
首页 > 其他好文 > 详细

初学LUA—实现上楼梯算法

时间:2014-06-22 14:24:19      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:lua   递归   


题目:楼梯有n阶台阶,上楼可以一步上1阶,也可以一步上2阶,编一程序列出每一种走法。


要求是使用递归和迭代两种不同的方法来实现。对于我这个算法又渣也没接触过LUA的人来说,真是有点脑子不够用了!!

捣鼓了一整天,了解LUA语法,各种google百度,暂且只能弄出递归解法,至于迭代,还得好好理解理解!


--递归
 function walkStairs(remainingSteps,currentSteps)
   if remainingSteps<=2 then
      printWalkWays(remainingSteps,currentSteps)
   else
      for step=1,2 do
	  walkStairs(remainingSteps-step,currentSteps .." " ..step)
	  end
	end
end

function printWalkWays(remainingSteps,currentSteps)
  if 1==remainingSteps then
      print(currentSteps .." 1")
  elseif 2==remainingSteps then
      print(currentSteps .." 1 1")
	  print(currentSteps .." 2")
  else print(currentSteps)
  end
end




print("enter a number:")
n=io.read("*number")
print(n .."层楼梯的走法有以下几种:")
io.write(walkStairs(n," "))


再改进了下,可以由用户输入数字,确定总共有几阶楼梯



bubuko.com,布布扣

初学LUA—实现上楼梯算法,布布扣,bubuko.com

初学LUA—实现上楼梯算法

标签:lua   递归   

原文地址:http://blog.csdn.net/goldya/article/details/32711715

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!