计算从1到N的自然数中取M个数的所有组合的lua函数
2016-07-29 20:07
513 查看
--计算从1到maxNumber的自然数中取selNum个数的所有组合
function CalcNaturalNumberComb(maxNumber, selNum, tabReturn)
local tabComb = {}
comb_natural_number_recurisve_func = function(m,k,tab)
for i=m,k,-1 do
tabComb[k+1] = i
if k > 1 then
comb_natural_number_recurisve_func(i-1,k-1,tab)
else
local tabOut = {}
local nStart = tonumber(tabComb[1])
for n=nStart,1,-1 do
table.insert(tabOut,tabComb[n+1])
end
table.insert(tab,tabOut)
end
end
end
tabComb = {}
tabComb[1] = selNum
comb_natural_number_recurisve_func(maxNumber, selNum, tabReturn)
end
--计算从1到maxNumber的自然数中取selNum个数的所有组合
function CalcNaturalNumberComb(maxNumber, selNum, tabReturn)
local tabComb = {}
comb_natural_number_recurisve_func = function(m,k,tab)
for i=m,k,-1 do
tabComb[k+1] = i
if k > 1 then
comb_natural_number_recurisve_func(i-1,k-1,tab)
else
local tabOut = {}
local nStart = tonumber(tabComb[1])
for n=nStart,1,-1 do
table.insert(tabOut,tabComb[n+1])
end
table.insert(tab,tabOut)
end
end
end
tabComb = {}
tabComb[1] = selNum
comb_natural_number_recurisve_func(maxNumber, selNum, tabReturn)
end
相关文章推荐
- 【步兵 lua】利用脚本的优势
- Lapis - A web framework for Lua or MoonScript powered by OpenResty
- LeetCode:150. Evaluate Reverse Polish Notation(逆波兰表达式)
- ULua使用方法
- Lua os标准库 - 操作系统处理(operating system facilities)
- Lua学习总结(基本语法)
- lua的string库与强大的模式匹配
- 游戏开发 Lua的文件操作
- Lua学习总结(表达式)
- Lua使用C++继承
- Lua中table类型的源码实现
- c/c++混编,导出接口给lua调用
- vs编译lua-cjson的正确姿势
- Lua学习总结(值与类型)
- Lua学习总结 (安装与使用)
- ELK分析ngx_lua_waf软件防火墙日志
- UVA - 327 Evaluating Simple C Expressions
- 转载:lua和c的交互
- LUA 尾调用 输出fibonacci数列
- Windows7下使用VS2015搭建Lua开发环境