用批处理解决数学问题的代码第1/4页
作者 佚名
来源 批处理
浏览
发布时间 2013-07-09
do ( set /a Fnum=1%%i3 set /a Bnum=3%%i4 set /a num=!Bnum!/2-9 if !Fnum! EQU !num! echo !Fnum!) for /l %%i in (0 1 9) do ( set /a Fnum=13%%i set /a Bnum=34%%i set /a num=!Bnum!/2-9 if !Fnum! EQU !num! echo !Fnum!) pause>nul ======================================================================================== 【09】by [youxi01] ======================================================================================== @echo off rem 小鸡的只数至少有76只: setlocal enabledelayedexpansion for /l %%i in (76 1 10000) do ( set /a Fnum=%%i*20-75*20 set /a Bnum=%%i*15+100*15 if !Fnum! EQU !Bnum! echo 小鸡的只数为:%%i & goto :exit) :exit pause>nul ======================================================================================== 【10】by [youxi01] ======================================================================================== @echo off echo 正在检测数据........ setlocal enabledelayedexpansion set /a flag=0 for /l %%i in (10000,1,99999) do ( set num=%%i rem 前面加个1是为了防止类似30820的特殊情况。 set /a num=1!num:3=! if !num! lss 2000 if !num! gtr 200 set /a flag+=1) echo %flag% echo 检测完毕! pause>nul ======================================================================================== 【11】by [youxi01] ======================================================================================== ::第11题稍微难一点。利用高中的数学知识可以证明,凡是大于等于4的数,它都可以这样的两个数,它们 ::的和与该数相等,乘积要大于等于该数。根据这样的推论,所有的数最后都会拆成这样的形式: ::A*A*A*A....A为2或者3(因为只有2和3不能拆了,最后剩下的肯定只有2和3)。所以我们就可以得到下面 ::的代码:(答案是486,我不知道对不对^-^) @echo off setlocal enabledelayedexpansion set num=17 set /a Cnum=%num%/3 set /a Rnum=%num%%%2 set /a Tnum=0 for /l %%i in (%Rnum% 2 %Cnum%) do ( set num_=1 set /a num_tem=%num%/2-%%i*3/2 for /l %%a in (1 1 %%i) do ( set /a num_*=3) for /l %%b in (1 1 !num_tem!) do ( set /a num_*=2) if !num_! gtr !Tnum! set /a Tnum=!num_! ) echo !Tnum! pause>nul ======================================================================================== 【12】by [youxi01] ======================================================================================== @echo off echo 正在检测数据........ setlocal enabledelayedexpansion set /a num=1 set /a flag=0 for /l %%i in (2 1 10000) do ( call :test %%i echo %%i !flag!) :exit echo 最小的自然数为:!num! echo. echo 检测完毕! pause>nul :test set /a num=!num!*%1 for /l %%i in (1 1 5) do ( if !num:~-1! EQU 0 (set /a flag+=1 & set /a num=!num:~0,-1!) else ( set /a num=!num:~-1! & goto :eof)) ======================================================================================== 【13】by [youxi01] ======================================================================================== @echo off echo 正在检测数据........ setlocal enabledelayedexpansion for /l %%a in (90 1 180) do ( for /l %%b in (1 1 %%a) do ( set /a num=%%a %% %%b if !num! EQU 0 ( set /a num=%%a/%%b set /a num_=!num!+%%a+%%b if !num_! EQU 181 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于用批处理解决数学问题的代码第1/4页的所有评论