首页 > 代码库 > 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)级素数查询