开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 584|回复: 5
收起左侧

[求助] 求大佬指点下弟弟

[复制链接]
结帖率:73% (46/63)
发表于 2023-7-19 18:12:51 | 显示全部楼层 |阅读模式   美国
抄论坛大佬的代码实现了快速生成几十万几百万的随机数,但是想把他保存起来然后给下一次生成时候跟这次生成做一个去重有什么好用的方法么?还有这个生成随机数经常会报内存分配失败跟莫名奇妙的停止了

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
号段文本型0 

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
号段 = { “ 70”, “71”, “72”, “73”, “74”, “75”, “76”, “77”, “78”, “79”, “7624”, “800”, “808”, “84”, “87”, “9” }
子程序名返回值类型公开备 注
随机数  
参数名类 型参考可空数组备 注
数据存放内存整数型
号段文本型
总数整数型
随机数个数整数型
字节集长度整数型
变量名类 型静态数组备 注
时间整数型 
临时内存整数型 
随机数整数型 
i整数型 
k整数型 
随机数文本文本型 
号码文本型 
随机数2  
存放数据字节集字节集 
时间 = 取启动时间 ()
临时内存 = 申请内存 (10000000, )
置随机数种子 ()
循环判断首 ()
i = i + 1
' 随机数 = 取随机数 (1, 9999999)
随机数 = 到整数 (文本_取随机数字 (随机数个数, ))
如果真 (取字节集数据 (指针到字节集 (临时内存 + 随机数, 1), 1, ) = 0)
写到内存 (1, 临时内存 + 随机数, )
随机数2 = 取随机数 (1, 取数组成员数 (号段))
号码 = 数字转文本 (到整数 (号段 [随机数2])) + 到文本 (随机数)
存放数据字节集 = 到字节集 (“('” + 号码 + “','1'),”)
写到内存 (存放数据字节集, 数据存放内存 + 26 × k, )
k = k + 1

循环判断尾 (k ≤ 总数)
释放内存 (临时内存)
子程序名返回值类型公开备 注
数字转文本文本型 
参数名类 型参考可空数组备 注
随机数整数型
变量名类 型静态数组备 注
随机数_文本文本型 
判断 (随机数 < 9)
随机数_文本 = “aaaaa”到文本 (随机数)
判断 (随机数 < 99)
随机数_文本 = “aaaa”到文本 (随机数)
判断 (随机数 < 999)
随机数_文本 = “aaa”到文本 (随机数)
判断 (随机数 < 9999)
随机数_文本 = “aa”到文本 (随机数)
判断 (随机数 < 99999)
随机数_文本 = “a”到文本 (随机数)
随机数_文本 = 到文本 (随机数)
返回 (随机数_文本)
子程序名返回值类型公开备 注
生成  
参数名类 型参考可空数组备 注
总数整数型
号段文本型
随机数个数整数型
变量名类 型静态数组备 注
临时内存整数型 
数据库Sqlite数据库 
文本行文本型 
下标整数型 
字节集长度整数型 
快速文本快速文本对象 
字节集文本字节集 
sql文本型 
文本文本型 
临时内存 = 申请内存 (26 × 总数, )
随机数 (临时内存, 号段, 总数, 随机数个数, 字节集长度)
字节集文本 = 指针到字节集 (临时内存, 26 × 总数)  ' 这里莫名其妙就停止了,就算这里不停止下面有时候也会弹出内存分配失败然后停止了
释放内存 (临时内存)
字节集文本 = 子字节集替换 (字节集文本, { 0 }, {  }, , )
写到文件 (取当前目录 ()“/新建文本文档 (2).txt”, 字节集文本)
快速文本.从文件读 (取当前目录 ()“/新建文本文档 (2).txt”)
快速文本.替换子文本 (“a”, “”, , , )
快速文本.替换子文本 (“),(”, “), (”, , , )
文本 = 快速文本.取文本 (, )
如果真 (通讯录文本 ≠ “”)
如果真 (数据库.是否已打开 ())
数据库.打开 (取运行目录 ()“/data.db”, )
置随机数种子 ()
数据库.开始事务 (“提交”)
sql = “INSERT INTO 'number_data'('column2','column1') VALUES ” + 文本 + “ ('1','0')”
写到文件 (取运行目录 ()“/sql.txt”, 到字节集 (sql))
如果真 (数据库.执行SQL语句 (sql))
调试输出 (数据库.取错误文本 ())
调试输出 (“写入成功”)
数据库.提交事务 (“提交”)
数据库.关闭 ()
子程序名返回值类型公开备 注
_按钮1_被单击  
生成 (1000000, 号段, 7)


i支持库列表   支持库注释   
spec特殊功能支持库
sqlite3(未知支持库)
commobj通用对象支持库


结帖率:100% (2/2)

签到天数: 24 天

发表于 2023-7-19 19:15:59 | 显示全部楼层   贵州省*
用 咸鱼666 大佬的 哈希表 试试
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2023-7-19 19:46:49 | 显示全部楼层   湖北省武汉市
1、经常会报内存分配失败跟莫名奇妙的停止了

检查一下是不是没有释放内存,或者可以找个自动释放内存的模块搭配使用

2、随机数去重

可以将每次生成的结果保存为数组,去重时,两个数组作冒泡排序去重就可以了
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-7-19 20:35:41 | 显示全部楼层   河北省邯郸市
你这代码好眼熟啊
回复 支持 反对

使用道具 举报

结帖率:73% (46/63)

签到天数: 4 天

 楼主| 发表于 2023-7-20 09:11:17 | 显示全部楼层   广东省广州市
美稀宗 发表于 2023-7-19 20:35
你这代码好眼熟啊

上个帖子抄的你代码
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2023-7-21 19:59:39 | 显示全部楼层   河北省邯郸市
申请的内存得是4的倍数  否则可能会失败   试试28*总数
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表