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

[数值计算] [已解决]批处理如何使两组数字按一定规则排列出来?

本帖最后由 gshccr 于 2011-7-17 23:22 编辑

两组数字分别为:1到33:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
                      1到16:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

希望处理后如下:
  1. 1 2 3 4 5 6 1
  2. 1 2 3 4 5 6 2
  3. 1 2 3 4 5 6 3
  4. 1 2 3 4 5 6 4
  5. 1 2 3 4 5 6 5
  6. 1 2 3 4 5 6 6
  7. 1 2 3 4 5 6 7
  8. 1 2 3 4 5 6 8
  9. 1 2 3 4 5 6 9
  10. 1 2 3 4 5 6 10
  11. 1 2 3 4 5 6 11
  12. 1 2 3 4 5 6 12
  13. 1 2 3 4 5 6 13
  14. 1 2 3 4 5 6 14
  15. 1 2 3 4 5 6 15
  16. 1 2 3 4 5 6 16
  17. 2 3 4 5 6 7 1
  18. 2 3 4 5 6 7 2
  19. 2 3 4 5 6 7 3
  20. 略…………
  21. 29 30 31 32 33 1 13
  22. 29 30 31 32 33 1 14
  23. 29 30 31 32 33 1 15
  24. 29 30 31 32 33 1 16
  25. 30 31 32 33 1 2 1
  26. 30 31 32 33 1 2 2
  27. 略…………
  28. 1 3 4 5 6 7 1
  29. 1 3 4 5 6 7 2
  30. 1 3 4 5 6 7 3
  31. 1 3 4 5 6 7 4
  32. 1 3 4 5 6 7 5
  33. 1 3 4 5 6 7 6
  34. 1 3 4 5 6 7 7
  35. 1 3 4 5 6 7 8
  36. 1 3 4 5 6 7 9
  37. 1 3 4 5 6 7 10
  38. 1 3 4 5 6 7 11
  39. 1 3 4 5 6 7 12
  40. 1 3 4 5 6 7 13
  41. 1 3 4 5 6 7 14
  42. 1 3 4 5 6 7 15
  43. 1 3 4 5 6 7 16
  44. 1 4 5 6 7 8 1
  45. 1 4 5 6 7 8 2
  46. 1 4 5 6 7 8 3
  47. 略…………
  48. 1 29 30 31 32 33 8
  49. 1 29 30 31 32 33 9
  50. 1 29 30 31 32 33 10
  51. 1 29 30 31 32 33 11
  52. 1 29 30 31 32 33 12
  53. 1 29 30 31 32 33 13
  54. 1 29 30 31 32 33 14
  55. 1 29 30 31 32 33 15
  56. 1 29 30 31 32 33 16
  57. 略…………
  58. 2 3 4 5 6 7 1
  59. 2 3 4 5 6 7 2
  60. 2 3 4 5 6 7 3
  61. 2 3 4 5 6 7 4
  62. 略…………
  63. 3 4 5 6 7 8 1
  64. 3 4 5 6 7 8 2
  65. 3 4 5 6 7 8 3
  66. 3 4 5 6 7 8 4
  67. 3 4 5 6 7 8 5
  68. 略…………
复制代码
呵呵……感觉有点乱,不知道大家能不能看懂,我的表达不是很好,在此先谢谢大家了!
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 ArdentMan 于 2011-7-17 09:59 编辑

楼主想生成所有彩票号码的字典?

那可是有p(33,6)*16=17721088种排列啊~~~

按每0.01秒输出一行计算,

批需要3小时4分35秒来完成输出,

按每一行至少7个数字6个空格1个回车1个换行15个字节计算(实际根本不止),

生成的文本都有253.50M之大,

因此批断然难以胜任!

同时253M的文本文件你有机会打开?
一路飘过的鸟~~~

TOP

用三个 for一个 set可以搞定
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

3# cjiabing
二楼不是说批不能完成,是论证批不适合处理这样庞大的数据,还是用专业工具来做这样的事情吧。。。
***共同提高***

TOP

2# ArdentMan


记事本打开几十M的文件就会假死,但是其它常见工具打开几百M甚至上G的文件还是很轻松的。

TOP

2# ArdentMan


哈哈……其实是我的朋友叫我帮他算一下,他想看看有多少组,我跟他说过算出来数量很大的,但他还是要我算出来让他看看,
呵,开始我自己也试着用批处理来算,但总是没有好的思路!也知道纯P处理起来很吃力,
所以特来论坛求助,不知道能不能借助第三方或VBS来实现呢?麻烦你了!谢谢!

TOP

3# cjiabing


能不能把代码贴出来看下,我想看一下思路,自己想不出来,好纠结啊!先谢谢啦!

TOP

本帖最后由 ArdentMan 于 2011-7-17 19:16 编辑

死机的话别怪哦~~~
  1. @Echo Off&SetLocal EnableDelayedExpansion
  2. Set "Num= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 "
  3. (For %%1 In (%Num%) Do (
  4.   Set "Num1=!Num: %%1 = !"
  5.   For %%2 In (!Num1!) Do (
  6.     Set "Num2=!Num1: %%2 = !"
  7.     For %%3 In (!Num2!) Do (
  8.       Set "Num3=!Num2: %%3 = !"
  9.       For %%4 In (!Num3!) Do (
  10.         Set "Num4=!Num3: %%4 = !"
  11.         For %%5 In (!Num4!) Do (
  12.           Set "Num5=!Num4: %%5 = !"
  13.           For %%6 In (!Num5!) Do (
  14.             For %%7 In (%Num:~,39%) Do Echo %%1 %%2 %%3 %%4 %%5 %%6 %%7
  15.           )
  16.         )
  17.       )
  18.     )
  19.   )
  20. ))>list.txt
复制代码
1

评分人数

一路飘过的鸟~~~

TOP

测试成功!看你的账号是新注册的,不过应该不是新手吧!呵呵……
程度运行时间久了好像越来越卡了,看来用P来处理这个确实太吃力,但总体还是不错的!谢谢ArdentMan !同时也谢谢大家的回复!

TOP

1组任意字母或数字如: 01 02 03 04 05 06 07 08
2组任意字母或数字如: 09 10 11 12 13 14 15 16
第一组选3个 和第二组选4个  2组数组成7位的排列不重复

01 02 03 09 10 11 12
01 03 02 09 10 11 12
01 02 03 10 09 11 12
这些组合只需要保留一个就可以

不知道全是字母能保留一个组合不行

TOP

返回列表