![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-29 23:46 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,278 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 超级难题 随机输出 不能重复 |
| 可打印版本 1,081 / 6 |
| 第1楼 xxx3212 | 发表于 2008-01-15 18:22 |
| 新手上路 发帖 3 积分 7 | |
|
超级难题 随机输出 不能重复 设置变量 n1 到 n100 每个变量都随机储存一个小于100的数 并且都没重复
主要就要要随机 |
|
| 第2楼 xxx3212 | 发表于 2008-01-16 23:14 |
| 新手上路 发帖 3 积分 7 | |
|
我在批处理之家 http://bbs.bathome.cn 找到了答案
|
|
| 第3楼 523066680 | 发表于 2008-12-13 10:32 |
| 银牌会员 发帖 1,133 积分 2,361 | |
|
我用两句话,嘿嘿!好久没露出奸笑了...(八神暴走 哦-哈-哈-哈-哈! 最近返老还童玩kof)
--------------------------------------------------------- 实不相瞒,花了好长一段时间理解2楼的代码. 分析下,大家看对不对. 整个思路就是通过对num1-num100原来的值1-100进行随机的互相对换,对换后"面目全非". 首先,代码对1-100这些数进行编号,num1=1,num2=2...num100=100 第二个for I = 1 to 100 获取内随机数R 将编号R的值 与 编号I的值对调 next 第三个for I = 1 to 100 列出编号I对应的值 over ---------------------------------------------------------- 关于第二个for 由于对编号1-100都进行替换操作,替换是与随机编号R之间的,所以每个编号的值!一般!会被换两次. 我觉得这点很good! 举个例子吧: 这里设第一个随机数=39 (若=1则另当别论) 第一次是 NUM(39) 与 NUM(1) 调换值 第二次是 因为for I = 1 to 100, I 始终是要轮到39的,于是NUM(39) 又与 NUM(随机数) 调换值 (当然,假如某次 随机数R 与 I 刚好相等,则相当于没有换.) 随机数R范围 ,可能重复,所以可能一个编号的值会被换好几次,且导致其他数也被换,我觉得这点够随机. 另外我认为2楼代码还可以化简一点,容易理解一点: |
|
| 第4楼 523066680 | 发表于 2008-12-13 11:29 |
| 银牌会员 发帖 1,133 积分 2,361 | |
|
我发现没人鸟我……
|
|
| 第5楼 bat-zw | 发表于 2008-12-13 12:16 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
来个更简单点的:
|
|
| 第6楼 ZJHJ | 发表于 2008-12-13 13:56 |
| 高级用户 发帖 374 积分 609 | |
|
我在网上看到的是先生成顺序数再进行随机交换
|
|
| 第7楼 523066680 | 发表于 2008-12-17 16:58 |
| 银牌会员 发帖 1,133 积分 2,361 | |
|
跟我3楼自己做的那个类似啊
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |