[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
你是说  有3个数,范围是1-5,求和为N的情况有多少种组合?
Press Any Key To Continue...

TOP

  1. @echo off &setlocal enabledelayedexpansion
  2. for /l %%i in (3,1,15) do (
  3.     set /a N[%%i]=0
  4. )
  5. set /a sum=0
  6. for /l %%a in (1 1 5) do (
  7.    for /l %%b in (1 1 5) do (
  8.       for /l %%c in (1 1 5) do (
  9.           set /a sum=%%a+%%b+%%c
  10.           set /a N[!sum!]+=1
  11.   )
  12. )
  13. )
  14. for /l %%i in (3,1,15) do (
  15.     echo 3个[1-5]范围内的数字和为%%i 的情况有:!N[%%i]! 种
  16. )
  17. pause
复制代码
1

评分人数

    • xpw: 够简捷!技术 + 1
Press Any Key To Continue...

TOP

回复 1# xpw


    错误在于
:3
set /a num3+=1

:4
set /a num4+=1

:5
set /a num5+=1

每个环节之间没有用goto :eof
如果你调用了:3 , 那么从:3到:15的所有公式都+1。
这些数值被重复计算了。
Press Any Key To Continue...

TOP

回复 6# apang


    没去注意,直接用楼主的改的。
只是告诉楼主重复句子多了。
还有就是没有goto :eof
Press Any Key To Continue...

TOP

本帖最后由 PakTC 于 2013-7-29 22:15 编辑

楼主如果用Call可以这样

            [此处省略若干代码]
          set /a sum=%%a+%%b+%%c
          call :func !sum!
            [此处省略若干代码]

:func
set /a num%1+=1
Press Any Key To Continue...

TOP

返回列表