LUA脚本中O(2)级素数查询
--======================================================================================================
local set={[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=};
local reverse={[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=,[]=}; ngx.say("当前值是:7,下一个质数是:"..set[reverse[]+]);
ngx.say("当前值是:23,下一个质数是:"..set[reverse[]+]);
ngx.say("当前值是:41,下一个质数是:"..set[reverse[]+]); 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();]]
LUA脚本中O(2)级素数查询的更多相关文章
- 在lua脚本中使用我们自定义的精灵类
首先创建cocos2dx-lua项目,然后在项目中添加我们的自定义精灵类:这里Himi类名为:HSprite // // HSprite.h // cocos2dx_lua_tests_by_Himi ...
- Win32下 Qt与Lua交互使用(四):在Lua脚本中自由执行Qt类中的函数
话接上篇.通过前几篇博客,我们实现在Lua脚本中执行Qt类中函数的方法,以及在Lua脚本中连接Qt对象的信号与槽. 但是,我们也能发现,如果希望在Lua脚本中执行Qt类的函数,就必须绑定一个真正实现功 ...
- Win32下 Qt与Lua交互使用(三):在Lua脚本中connect Qt 对象
话接上文.笔者为了方便使用Lua,自己编写了一个Lua的类.主要代码如下: QLua.h #ifndef QLUA_H #define QLUA_H // own #include "inc ...
- Win32下 Qt与Lua交互使用(二):在Lua脚本中使用Qt类
话接上篇.成功配置好Qt+Lua+toLua后,我们可以实现在Lua脚本中使用各个Qt的类.直接看代码吧. #include "include/lua.hpp" #include ...
- lua脚本中字符串分割split
function split( s, c ) for item in string.gmatch( s, "(.-)"..c) do print(item); end end s ...
- Lua脚本在Redis事务中的应用实践
使用过Redis事务的应该清楚,Redis事务实现是通过打包多条命令,单独的隔离操作,事务中的所有命令都会按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的命令请求所打断.事务中的命令要么全部 ...
- 基于Lua脚本解决实时数据处理流程中的关键问题
摘要 在处理实时数据的过程中需要缓存的参与,由于在更新实时数据时并发处理的特点,因此在更新实时数据时经常产生新老数据相互覆盖的情况,针对这个情况调查了Redis事务和Lua脚本后,发现Redis事务并 ...
- .net core中加载lua脚本的类库: MoonSharp
前言 MoonSharp是一个支持C#调用lua脚本的类库,支持.net, .net core, mono, unity,因此在.net core中也能够使用,而且加载和调用lua也很方便简单: 官网 ...
- spring boot 中使用LUA脚本
编写LUA脚本 该脚本功能:先检查redis中某个key的值是否与期望的值V1一致,如果一致则将其修改为新的值V2并返回true,否则返回false.其实就是CAS. local current = ...
随机推荐
- POJ3984(迷宫问题)
定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...
- 一种保持顺序的Properties
其实properties有没有顺序都一样 程序都能正常运行 但看着就比较闹心 所以网上找了找 还真有人给了个例子实现读Property的有序 但是删除某些属性之后 写入又有问题 会异常 后来重写了一下 ...
- Eclipse的优化方案
General > Startup and Shutdown : 移除所有在启动时加载的插件. General > Editors > Text Editors > Spell ...
- JAVA多线程及补充
进程 运行中的应用程序叫进程,每个进程运行时,都有自已的地址空间(内存空间)如IE浏览器在任务管器中可以看到操作系统都是支持多进程的 线程 线程是轻量级的进程,是进程中一个负责程序执行的控制单元线程没 ...
- elasticsearch-1.7.1 (es Windows 64)
elasticsearch-1.7.1 (es Windows 64) https://blog.csdn.net/qq_27093465/article/details/53544541 elast ...
- 使用es6一行搞定文字溢出省略号
使用的是es6中扩展字符串方法参考地址 padStart(),padEnd() 使用padStart() 两个参数padStart(字符串最小长度,用来补全的字符串): 例如 let str = '1 ...
- 如何使用Navicat备份数据库脚本
Navicat是一个实用的工具,可以用来备份数据库(Oracle.MySQL.SQLServer)脚本. 备份步骤如下: 1.打开已建立的数据库连接,鼠标右键点击,选择[转储SQL文件]->[结 ...
- 用静态工厂的方法实例化bean
//代码如下: package com.timo.domain; public class ClientService { //use static factory method create bea ...
- 使用MAT分析内存泄露
使用MAT分析内存泄露 对于大型服务端应用程序来说,有些内存泄露问题很难在测试阶段发现,此时就需要分析JVM Heap Dump文件来找出问题.随着单机内存越来越大,应用heap也开得越来越大,动辄十 ...
- 自己实现的JDBC工具类
最近做了个后台应用程序,刚开始用Spring+iBatis来做的,后来因为种种原因,不让用Spring.iBatis以及一些开源的工具包. 于是用JDBC重写了原来的Service实现,项目做完了 ...