精易论坛

标题: 易语言取随机问题 [打印本页]

作者: 若相守卟离    时间: 2025-6-14 08:18
标题: 易语言取随机问题

  
标识一 = 取随机数 (10000000, 90000000)
标识二 = 取随机数 (10000000, 90000000)
调试输出 (标识一)
调试输出 (标识二)


i支持库列表   支持库注释   
spec特殊功能支持库

输出这样的
10031194
10000182

而非  2 开头或者 3/4/5/6/7/8/9开头  都是 1开头的
最好没有0再里面

作者: 斗战胜猴    时间: 2025-6-14 08:18
  
子程序名返回值类型公开备 注
汇编_取随机数整数型 汇编取随机数
参数名类 型参考可空数组备 注
Min整数型最小
Max整数型最大
置入代码 ({ 81, 82, 15, 49, 185, 23, 0, 0, 0, 247, 225, 131, 192, 7, 139, 77, 12, 43, 77, 8, 65, 51, 210, 247, 241, 3, 85, 8, 139, 194, 90, 89, 201, 194, 8, 0 })
返回 (0)

截图32位20250614091322.png (20.79 KB, 下载次数: 1)

截图32位20250614091322.png

作者: laihobglei    时间: 2025-6-14 08:42
  
变量名类 型静态数组备 注
标识一整数型 
标识二整数型 
标识一 = 取高质量随机数 ()
标识二 = 取高质量随机数 ()
调试输出 (标识一)
调试输出 (标识二)
子程序名返回值类型公开备 注
取高质量随机数整数型 
变量名类 型静态数组备 注
首位整数型 
剩余部分整数型 
首位 = 取随机数 (1, 9)  ' 首位1-9
剩余部分 = 取随机数 (0, 9999999)  ' 剩余7位
返回 (首位 × 10000000 + 剩余部分)


i支持库列表   支持库注释   
spec特殊功能支持库


作者: Suky    时间: 2025-6-14 09:02
取随机数 ( )  这个命令,受限于易语言开发时32位系统的原因,最大值只能到65535
超过这个值的随机数会以一定规则被重设,随机数的分布会集中到少数区域去,达不到实际应用目的
所以超过65535的随机数就不能用核心库的这个命令

建议找找有没有相关模块
或者论坛里搜索   取超长随机数   关键词
当初我们有研究过这东西来着,相关想法的帖子都在论坛里有

作者: Suky    时间: 2025-6-14 09:06
Adm_运算_取超长随机数_瑕疵版
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14825084
(出处: 精易论坛)

这里的是当初的一些想法,回复内容置顶的  @笨来无一悟 的想法很不错,不知道他们后续有没有写出成品
作者: Suky    时间: 2025-6-14 09:14
准确取非常大的随机数,解决易语言取随机数()命令的bug
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14730594
(出处: 精易论坛)

这个是当初看过参考过的,他的问题就是会将随机数下限值提高,导致如果要取的随机数区间太大,就永远取不到最小的几个值的情况
不过你的这个区间的话理论上他这个也可用
作者: 影纸    时间: 2025-6-14 09:34
结果里含0
* 14295896
* 68783938
* 16711498
* 13696785
* 48295713
* 84374373
* 84726623
* 76355843
* 16556521
* 34746876


  
变量名类 型静态数组备 注
i整数型 
数组整数型0
数组1整数型0
m整数型 
结果整数型 
计次循环首 (9, i)
加入成员 (数组, i)
计次循环尾 ()
计次循环首 (8, i)
m = 取随机数 (1, 9)
结果 = 结果 + 数组 [m] × 求次方 (10, i - 1)
计次循环尾 ()
调试输出 (结果)


i支持库列表   支持库注释   
spec特殊功能支持库



补充内容 (2025-6-14 09:34):
结果里不含0




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4