汉罗塔lua实现
2015-06-03 00:16
411 查看
local num = 0 function MoveDisk( diskQuantity, positionA, positionB, positionC ) if diskQuantity == 1 then num = num + 1 print (num .. "Move disk from position " .. positionA .. " to " .. positionC) else -- Step 1 change B to C (A - B) 把a上的n-1个盘通过c移动到b MoveDisk(diskQuantity-1, positionA, positionC, positionB) -- Step 1 No change (A - C) 把a上的最下面的盘移到c MoveDisk(1, positionA, positionB, positionC) -- Step 1 change B to A (B - C) 因为n-1个盘全在b上了,所以把b当做a重复以上步骤就好了 MoveDisk(diskQuantity-1, positionB, positionA, positionC) end end MoveDisk(5, "A", "B", "C")
相关文章推荐
- 在 slua 中使用更新的面向对象方案
- lua-5.1 和 lua-5.2 之间的一些差异。
- LUA modue require package 区别
- c++下 遍历 lua table
- SLua 中继承 C# 类接口 Slua.Class 的一个 Bug。
- ALUA的Path Selection Policy选择
- wxLua 如何打包生成可执行文件
- 绑定自定义类到lua
- lua 学习笔记 三 & 四
- 初学lua的几个博客 挺好的
- C++调用Lua读取配置文件的一个简单例子
- Lua中的线程和状态
- lua路上踩到的坑
- Lua 的模块安装和部署工具 - LuaRocks
- LuaSocket
- 举例说明关于 Lua闭包 的存在价值
- 写lua时需要注意的地方
- lua全局状态机
- LUA require 搜索路径指定方法
- 在Lua程序中使用SQLite的教程