83题,有空多写些。
算法效率比较低。- ::输出0-7组成的大于500的奇数个数
- ::code by nomyself
- ::05/12/2008
- @echo off
- rem 初值为1
- set sum=0
- set n=1
- goto set
- :set
- rem 将值赋予临时变量k并转入判断是输出还是续循环
- set k=%n%
- goto flag
- :flag
- rem k大于0就继续循环,否则就转入输出
- if %k% GTR 0 (call goto while) else goto printf
- :while
- rem 将j的值与7比较,小于7就设flag为1并重置循环数k;大于7就增加n的值
- set /a j=%k%%%10
- if %j% LEQ 7 (call goto setwhile) else goto add
- :setwhile
- set flag=1 & set /a k/=10
- goto flag
- :printf
- if %flag%==1 set /a sum+=1
- :add
- ::n自增2并且n大于500就输出总数
- set /a n+=2
- if %n% GTR 500 goto end
- goto set
- :end
- echo 满足条件的值的总数为:%sum%
- pause
复制代码
|