首页 > 代码库 > LUA脚本中O(2)级素数查询
LUA脚本中O(2)级素数查询
--====================================================================================================== local set={[1]=2,[2]=3,[3]=5,[4]=7,[5]=11,[6]=13,[7]=17,[8]=19,[9]=23,[10]=29,[11]=31,[12]=37,[13]=41,[14]=43,[15]=47,[16]=53,[17]=59,[18]=61,[19]=67,[20]=71,[21]=73,[22]=79,[23]=83,[24]=89,[25]=97,[26]=101}; local reverse={[2]=1,[3]=2,[5]=3,[7]=4,[11]=5,[13]=6,[17]=7,[19]=8,[23]=9,[29]=10,[31]=11,[37]=12,[41]=13,[43]=14,[47]=15,[53]=16,[59]=17,[61]=18,[67]=19,[71]=20,[73]=21,[79]=22,[83]=23,[89]=24,[97]=25,[101]=26}; ngx.say("当前值是:7,下一个质数是:"..set[reverse[7]+1]); ngx.say("当前值是:23,下一个质数是:"..set[reverse[23]+1]); ngx.say("当前值是:41,下一个质数是:"..set[reverse[41]+1]); ngx.say("====================================="); for key, value in pairs(set) do ngx.say("key:"..key..",value:"..value); end ngx.say("====================================="); for key, value in pairs(reverse) do ngx.say("key:"..key..",value:"..value); end --====================================================================================================== --[[function newset() local reverse = {} --以数据为key,数据在set中的位置为value local set = {}; --一个数组,其中的value就是要管理的数据 return setmetatable(set,{__index = { insert = function(set,value) if not reverse[value] then table.insert(set,value) reverse[value] = table.getn(set) end end, remove = function(set,value) local index = reverse[value] if index then reverse[value] = nil local top = table.remove(set) --删除数组中最后一个元素 if top ~= value then --若不是要删除的值,则替换它 reverse[top] = index set[index] = top end end end, find = function(set,value) local index = reverse[value] return index; end, }})endlocal n = newset();n:insert(5);]]
LUA脚本中O(2)级素数查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。