找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 34475|回复: 9

[数值计算] 如何生成6个不重复的1至3位数字

[复制链接]
发表于 2009-2-3 16:38:55 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-10-3 23:46 编辑

关于数字筛选和排序
现在有一串数字,怎样才能找到重复的数字并删除,然后对它们进行排序(急急急!!!)
发表于 2009-2-3 19:09:01 | 显示全部楼层
举个例子说明一下自己的问题?
 楼主| 发表于 2009-2-4 00:56:37 | 显示全部楼层
随机产生一串数字(6个),删掉重复的然后再补上新的数字,最后按从小到大的顺序排列起来
发表于 2009-2-4 10:07:41 | 显示全部楼层

回复 3楼 的帖子

按照什么规则“补上新的数字”?
 楼主| 发表于 2009-2-4 16:36:19 | 显示全部楼层
当然还是用产生随机数的方法,希望有人快快做出解答,先解答一部分也行,谢了
发表于 2009-2-4 16:53:09 | 显示全部楼层

回复 5楼 的帖子

你的最终目的是产生一个不包含重复数字的6位随机数,是这样么?
 楼主| 发表于 2009-2-4 17:32:56 | 显示全部楼层
我这样解释吧:
比如随机产生了:234,567,345,123,345,456六个数字(位数不一定是三位的),请注意是随机产生的
现在要将345删掉一个,并再随机加上一个数字如678
最后排成123,234,345,456,567,678的样子

[ 本帖最后由 sjminh 于 2009-2-4 17:59 编辑 ]
发表于 2009-2-4 17:53:05 | 显示全部楼层

回复 7楼 的帖子

生产的六个数字都是三位?或者位数不定?
 楼主| 发表于 2009-2-4 18:12:14 | 显示全部楼层
位数不一定是三位的,有可能可能是一位或二位
发表于 2009-2-9 16:55:39 | 显示全部楼层
楼主的意识其实就是产生6个不重复的随机数,再排序输出。。
  1. @echo off&Setlocal EnableDelayedExpansion
  2. for /l %%a in (1 1 6) do call :loop
  3. for %%a in (%var%) do (
  4.    set "num=0000000000%%a"
  5.    set "..!num:~-10!=%%a"
  6. )
  7. for /f "tokens=2 delims==" %%a in ('set ..') do echo %%a
  8. pause

  9. :loop
  10. set /a w=!random!
  11. if defined .!w! goto loop
  12. set .!w!=a
  13. set var=%var% !w!
  14. goto :eof
复制代码

[ 本帖最后由 随风 于 2009-2-9 16:56 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:26 , Processed in 0.032039 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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