[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
如果字符数多且组合字数多,不知道呈什么级数增长(我数学不太好)。最多处理15个字符:
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set arr=bathome
  4. set num=5
  5. set /p num=需要组合的字数:
  6. set var=%arr%fedcba9876543210
  7. set /a len=0x%var:~15,1%
  8. set /a numx=num-1, lenx=len-1
  9. for /l %%a in (0 1 %numx%) do (
  10.     if 0==%%a (set start=0) else (set /a start=%%a-1&set start=%%!start!)
  11.     set "do=!do! for /l %%%%a in (!start!,1,%lenx%) do "
  12.     set "exp=!exp!^!arr:~%%%%a,1^!"
  13. )
  14. %do% echo %exp%
  15. pause
  16. endlocal
复制代码
1

评分人数

    • yangfengoo: 思路不错,不过arr的长度被固定了技术 + 1

TOP

说漏了,还有组合字数最多10个

TOP

字符数和组合字数其实都很好改,只是为了简洁而没有作进一步处理。核心是算法问题。
这个是比较基本的枚举,容易想到,但效率可能不怎么样(本人没研究过算法)

TOP

返回列表