[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 批处理如何判断一个N位数中是否含有重复数字

如何判断一个N位数中是否含有重复数字;
如:一个5位数,12345;

[ 本帖最后由 rwxyxy 于 2009-5-11 19:10 编辑 ]

  1. @echo off
  2. :loop
  3. (
  4. setlocal enabledelayedexpansion
  5. set /a max=!random!,x=max
  6. for /l %%a in (0 1 9) do set x=!x:%%a= %%a !&set ".%%a="
  7. for %%a in (!x!) do (
  8.    if defined .%%a set flag=a
  9.    set .%%a=a
  10. )
  11. if defined flag (echo !max! 有重复数字) else echo !max! 没有重复数字
  12. )
  13. endlocal&pause>nul&goto loop
复制代码
技术问题请到论坛发帖求助!

TOP

  楼主的表达让人如坠五里雾中:按照标题的意思,是要判断一个N位数,但是要判断这个数怎么了呢?不明白。看了描述,似乎要判断一个N位数中是否含有重复数字,唉,还请楼主说清楚一点。

  如果要判断一个N位数中的数字是否有重复,可以先把这个数用空格、逗号、等号(也就是for中的分割符号)切分,放到for语句中检测,可以判断任意长度的数——不过,超过10位的数,铁定有重复的数字,无需再判断,2楼的就是这个思路。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

返回列表