紫猫学院社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 75|回复: 0

[教程源码] 取不重复随机数的源码例子

[复制链接]

909

主题

2681

帖子

2701

积分

院长

Rank: 9Rank: 9Rank: 9

猫粮
5138
QQ
发表于 2021-9-10 14:56:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
需注意, 取随机数()命令自身有范围限制, 请自行想办法解决

[Visual Basic] 纯文本查看 复制代码
.版本 2

.子程序 取不重复随机数
.参数 随机个数, 整数型
.参数 随机最小值, 整数型
.参数 随机最大值, 整数型
.参数 结果数组, 整数型, 数组
.局部变量 随机池数组, 整数型, , "0"
.局部变量 随机池成员数, 整数型
.局部变量 i, 整数型
.局部变量 随机下标, 整数型

置随机数种子 ()
随机池成员数 = 随机最大值 - 随机最小值 + 1
重定义数组 (随机池数组, 假, 随机池成员数)
.计次循环首 (随机池成员数, i)
    随机池数组 [i] = 随机最小值 + i - 1
.计次循环尾 ()
重定义数组 (结果数组, 假, 随机个数)

.计次循环首 (随机个数, i)
    随机下标 = 取随机数 (1, 随机池成员数 - (i - 1))  ' 自己注意下取随机数()命令的结果范围问题
    结果数组 [i] = 随机池数组 [随机下标]
    交换变量 (随机池数组 [随机下标], 随机池数组 [随机池成员数 - (i - 1)])
.计次循环尾 ()

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学院  

GMT+8, 2021-9-27 06:08

Powered by Discuz! X3.4

Copyright © 2012-2021 紫猫编程学院

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