[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
程序3:
  1. @echo off&setlocal enabledelayedexpansion
  2. echo 问题:排一本辞典的页码共用了4889个数字。这本辞典共有多少页?
  3. set num=0
  4. for /l %%i in (1,1,5000) do (
  5. if %%i lss 10 (set/a num=!num!+1) else if %%i lss 100 (set/a num=!num!+2) else if %%i lss 1000 (set/a num=!num!+3) else if %%i lss 10000 (set/a num=!num!+4)
  6. if !num! equ 4889 (echo.答案:%%i页&pause>nul&goto :eof)
  7. )
复制代码

TOP

程序4
  1. @echo off&setlocal enabledelayedexpansion
  2. echo\阿聪说他这次去西北看见一群骆驼,共有23个驼峰,60只脚。请问单、双峰骆驼各多少只?
  3. set/a num=60/4
  4. for /l %%i in (1,1,!num!) do (
  5. set/a m=%%i,n=15-m
  6. set/a tf=m+2*n
  7. if !tf! equ 23 (echo\答:单、双峰骆驼各!m!,!n!只&pause&goto :eof)
  8. )
复制代码

TOP

程序5. 范了个低级错误。调了N次,终于调成了。

  1. @echo off&setlocal enabledelayedexpansion
  2. echo\有一个五位奇数,将这个五位奇数中的所有2都换成5,所有5也都换成2,其他数保持不变,
  3. echo\得到一个新的五位数,若新五位数的一半仍比原五位数大1,那么原五位数是多少?
  4. for /l %%i in (20005,10,29995) do (
  5. set num=%%i
  6. set var=!num:2=a!&set var=!var:5=2!&set var=!var:a=5!
  7. set/a var0=var/2-1
  8. if !var0! equ !num! (echo 答案是: !num!&pause&goto :eof)
  9. )
复制代码

[ 本帖最后由 inittab 于 2009-4-23 19:52 编辑 ]
1

评分人数

    • sjzong: 厉害!这个(20005 10 29995)可以节省循环 ...PB + 2

TOP

程序13
分析:买走的货物重量能被3整除,先计算总重量。分别减去每种货的重量。提取出能被3整除五除货物。本题恰好只能一个可以被3整除。答案很快就会出来。但为了计算两个客人都买走了那些货物,还需要对留下的5种货物进行循环计算,最终出结果。
  1. @echo off&setlocal enabledelayedexpansion
  2. cls
  3. echo.
  4. echo\   问题:商店里有六箱货物,分别重15、16、18、19、20、31千克,
  5. echo\两个顾客买走了其中五箱.已知一个顾客买的货物重量是另一个顾客的2倍,
  6. echo\那么,商店剩下的一箱货物重量是多少千克?
  7. echo\=====================================================================================
  8. set str0=15 16 18 19 20 31
  9. set/a total=15+16+18+19+20+31
  10. for %%i in (!str0!) do (
  11. set/a var1=%%i,md=total-var1,avr=md/3,ys=md%%3
  12. if !ys! equ 0 (
  13. set "str1=!str0:%%i =!"
  14. for %%j in (!str1!) do (
  15. set/a var2=%%j,var3=avr-%%j
  16. set "str2=!str1:%%j =!"
  17. for %%l in (!str2!) do (
  18. if !var3! equ %%l (
  19. set var4=!str2:%%l =!
  20. echo 答案:商店剩下的一箱货物重量是:!var1!
  21. echo 一客人买走了!var2! !var3!两箱的货物,另一客人分别买走了!var4!货物
  22. pause>nul&goto:eof
  23. )))))
复制代码
有更好的算法,请赐教。

TOP

返回列表