Board logo

标题: [数值计算] 请教批处理数学类排列组合问题:有多少种存在 [打印本页]

作者: 曾经的你    时间: 2018-10-12 15:34     标题: 请教批处理数学类排列组合问题:有多少种存在

在26个英文字母中排除(a/e/i/o/u/v),剩余的20个字母,每4个组合在一起(可以存在bbbb/dddd/rrtt等情况,但是要排除在生成中出现的重复4个相同数组),有多少个可能,求助大佬给个bat生成下txt即可。


再就是求不祛除这6个字母,一共有多少种可能,并生成txt
作者: hnfeng    时间: 2018-10-12 15:57

本帖最后由 hnfeng 于 2018-10-12 16:09 编辑
  1. @echo off
  2. for %%a in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  3.   for %%b in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  4.     for %%c in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  5.       for %%d in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  6.         echo %%a%%b%%c%%d
  7.         echo %%a%%b%%c%%d>>abcd.txt
  8. ))))
  9.         
  10. pause
  11. exit
复制代码
.
  1. @echo off&setlocal EnableDelayedExpansion
  2. set /a n=0
  3. for %%a in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  4.   for %%b in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  5.     for %%c in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  6.       for %%d in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  7.         set /a n+=1
  8.         echo %%a%%b%%c%%d
  9.         echo %%a%%b%%c%%d>>abcd.txt
  10. ))))
  11. echo 一共有 %n% 种
  12. echo 一共有 %n% 种>>abcd.txt
  13. pause
  14. exit
复制代码

作者: 曾经的你    时间: 2018-10-12 17:26

回复 2# hnfeng


    老哥,666
作者: Batcher    时间: 2018-10-12 21:02

回复 2# hnfeng
  1. @echo off
  2. (for %%a in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  3.     for %%b in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  4.         for %%c in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  5.             for %%d in (b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,w,x,y,z) do (
  6.                 echo %%a%%b%%c%%d
  7.             )
  8.         )
  9.     )
  10. ))>abcd.txt
复制代码
把重定向放到最外面,可以极大的提升代码执行效率。
作者: 曾经的你    时间: 2021-6-22 10:35

回复 4# Batcher


    跪谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2