|  | 
 
| huzixuan 高级用户
 
     
 
 
 积分 537
 发帖 219
 注册 2006-10-31
 来自 芜湖
 状态 离线
 |  | 
|  2006-12-22 07:41 |  | 
|  | 
 
| a9319751 中级用户
 
    
 
 
 
 积分 439
 发帖 170
 注册 2006-1-9
 状态 离线
 | 
| 『第 2 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@ECHO OFFsetlocal EnableDelayedExpansion
 for /l  %%i in (1,2,99) do set /a num=!num!+%%i
 echo !num!
 pause
 
 
 
 
 
 |  
                  |  bat c c++
 |  | 
|  2006-12-22 07:48 |  | 
|  | 
 
| qzwqzw 银牌会员
 
      天的白色影子
 
 
 积分 2343
 发帖 636
 注册 2004-3-6
 状态 离线
 |  | 
|  2006-12-22 07:54 |  | 
|  | 
 
| jmz573515 银牌会员
 
      
 
 
 积分 1212
 发帖 464
 注册 2006-12-13
 状态 离线
 | 
| 『第 4 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
for i=1 to 99 step 2b=b+i
 next
 msgbox b
 
 '保存为VBS。
 
 
 
 
 |  | 
|  2006-12-22 07:59 |  | 
|  | 
 
| huzixuan 高级用户
 
     
 
 
 积分 537
 发帖 219
 注册 2006-10-31
 来自 芜湖
 状态 离线
 | 
| 『第 5 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
谢了 FOR又学会了点不过 如何写 批处理文件 运算呢?
 for /l %%i in (1 2 99) do set /a num+=%%i
 不行啊??
 
 Last edited by huzixuan on 2006-12-22 at 08:28 AM ]
 
 
 
 
 |  | 
|  2006-12-22 08:20 |  | 
|  | 
 
| zh159 金牌会员
 
       
 
 
 积分 3687
 发帖 1467
 注册 2005-8-8
 状态 离线
 | 
| 『第 6 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
for /l %%i in (1,2,99) do set /a num+=%%i
 你少了“,”号
 
 
 
 
 |  | 
|  2006-12-22 09:10 |  | 
|  | 
 
| redtek 金牌会员
 
       
 
 
 
 积分 2902
 发帖 1147
 注册 2006-9-21
 状态 离线
 | 
|    『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
我也来一个另类计算的方法:) @echo off
 :: 计算 从 1 -- 9999 之间的奇数之和
 
 echo 开始时间:%time%
 set a=25  &&  set b=25
 for /L %%i in (1,1,999) do ( set /a b+=50 && set /a a+=b )
 echo %a%
 echo 结束时间:%time%
 
 
计算速度测试如下:
 C:\TEMP\debug>r
 开始时间:20:30:09.06
 25000000
 结束时间:20:30:09.10
 
 
计算原理,真TMD费劲
 
 规律                       (列求和的值)
 =========================================
 1   3   5   7   9		=  25  |
 11  13  15  17  19		=  75  | 25+75=100
 21  23  25  27  29		= 125    |
 31  33  35  37  39		= 175    | 125+175=300
 
 ... ...                  |
 |
 91  93  95  97  99		= 475
 
 =========================================
 
 根据奇数出现的行与列的规律,总结如下:
 
 
 1) 每行列相加的值会依次递增   50
 2) 每行的与每行间的同一列相差 10
 
 根据以上推出公式如下:
 
 
 第1次部分公式推出:    = 加第二行的和
 
 第2次所推出的公式:  25 + 50 * 总行数(总行数的偏移量从0开始)
 
 例:求第4行(1--40)之间的奇数,则:
 25 + 50 * (4-1) = 175
 
 
 第3次所推出的公式:  如何知道一个数有多少行?
 根据最上面的奇数过程的表,推出第行之间相差 10
 所以,一个最大要求奇数和的这个数的小数点向左移一位,例:
 
 如: 求 1 -- 1000 之间的奇数和 ,那么就有 100 行(小数点左移1位)
 按上面刚刚推出来的公式我们测试一下:
 公式: 25 + 50 * 总行数(总行数的偏移量从0开始)
 代入: set /a !b+=50!+=b
 
 …………晕了
 
 
 Last edited by redtek on 2006-12-21 at 08:37 PM ]
 
 
 | 此帖被 +5 点积分      点击查看详情 | 评分人:【 9527 】 | 分数: +5 | 时间:2006-12-23 00:28 | 
 | 
 
 
 
 
 |  
                  |  Redtek,一个永远在网上流浪的人……
 
 _.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
 |  | 
|  2006-12-22 09:32 |  | 
|  | 
 
| scriptor 银牌会员
 
      
 
 
 积分 1187
 发帖 555
 注册 2006-12-21
 状态 离线
 | 
| 『第 8 楼』:
 Sum_Of_Prime
 
使用 LLM 解释/回答一下 
 
 
Rewrite it to your .txt file and Rename it as Sum.bat.Then run it, you will get the answer!
 
 @echo off
 
 for /l %%a in (1,2,100) do (
 (set /a sum_of_prime+=%%a )
 )
 echo sum_of_prime= %sum_of_prime% !
 
 @pause
 
 In CMD-Line , you can just type
 
 (for /l %a in (1,2,100) do (@ set /a Sum_of_Prime+=%a ) &cls)
 & echo %Sum_Of_Prime%
 
 It will return the last result and
 So, There is not anything else what you don't want to see.
 
 Have a Try!
 
 
 
 
 |  | 
|  2006-12-22 09:47 |  | 
|  | 
 
| scriptor 银牌会员
 
      
 
 
 积分 1187
 发帖 555
 注册 2006-12-21
 状态 离线
 |  | 
|  2006-12-22 09:48 |  | 
|  | 
 
| ccwan 金牌会员
 
       
 
 
 积分 2725
 发帖 1160
 注册 2006-9-23
 来自 河北廊坊
 状态 离线
 | 
| 『第 10 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
Originally posted by zh159 at 2006-12-22 09:10:for /l %%i in (1,2,99) do set /a num+=%%i
 
 你少了“,”号
 
可以不加逗号的. 
 
 
 | 此帖被 +1 点积分    点击查看详情 | 评分人:【 PPdos 】 | 分数: +1 | 时间:2006-12-26 19:43 | 
 | 
 
 
 
 
 |  
                  |  三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
 |  | 
|  2006-12-22 21:08 |  | 
|  | 
 
| 9527 银牌会员
 
      努力做坏人
 
 
 积分 1185
 发帖 438
 注册 2006-8-28
 来自 北京
 状态 离线
 | 
|  『第 11 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
其实for /l %i in (1,1,99) do @echo %i 括号中间的分隔号有多种形式如下:
 for /l %i in (1,1,99) do @echo %i
 for /l %i in (1 1 99) do @echo %i
 for /l %i in (1;1;99) do @echo %i
 for /l %i in (1=1=99) do @echo %i
 for /l %i in (1<tab>1<tab>99) do @echo %i  <tab>----tab键
 
 
 
 | 此帖被 +14 点积分  点击查看详情 | 评分人:【 namejm 】 | 分数: +4 | 时间:2006-12-22 22:19 |  | 评分人:【 ccwan 】 | 分数: +5 | 时间:2006-12-22 22:54 |  | 评分人:【 redtek 】 | 分数: +5 | 时间:2006-12-26 21:46 | 
 | 
 
 
 
 
 |  
                  |  我今后在论坛的目标就是做个超级坏人!!!
 |  | 
|  2006-12-22 22:13 |  | 
|  | 
 
| namejm 荣誉版主
 
        batch fan
 
 
 积分 5226
 发帖 1737
 注册 2006-3-10
 来自 成都
 状态 离线
 | 
| 『第 12 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
  9527 兄依然在孜孜不倦地研究各种技巧,往往能收到出其不意或简洁高效的效果,赞赏。 
 
 
 
 
 |  
                  |  尺有所短,寸有所长,学好CMD没商量。
 考虑问题复杂化,解决问题简洁化。
 |  | 
|  2006-12-22 22:21 |  | 
|  | 
 
| 26933062 银牌会员
 
      
 
 
 
 积分 2268
 发帖 879
 注册 2006-12-19
 状态 离线
 | 
| 『第 13 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@echo offfor /l %%i in (1 2 99) do set /a num+=%%i
 echo %num%
 pause加上红色部分就可以了
 
 
 
 
 |  | 
|  2006-12-26 13:07 |  | 
|  | 
 
| huzixuan 高级用户
 
     
 
 
 积分 537
 发帖 219
 注册 2006-10-31
 来自 芜湖
 状态 离线
 |  | 
|  2007-1-26 21:27 |  |