• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

LUA脚本中O(2)级素数查询

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
--======================================================================================================
  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,
    }})
end

local n = newset();
n:insert(5);]] 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Cocos2d-lua 精灵模糊 shader发布时间:2022-07-22
下一篇:
Lua笔记 8发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap