当前位置: 移动技术网 > IT编程>网络>Dos/Bat > 用批处理解决数学问题的代码第1/4页

用批处理解决数学问题的代码第1/4页

2017年12月12日  | 移动技术网IT编程  | 我要评论
#01 ! 求水仙花数? #02 ! 有四个数,其中任意三个数相加,所得的和分别是84,88,99,110,求这四个数? #03 ! 赵姑娘的岁数有以下特点: 1. 它的3

【06】by [youxi01]
========================================================================================
::答案是:29995。

@echo off & echo 正在检测数据...
setlocal enabledelayedexpansion
for /l %%a in (0 1 9) do (
for /l %%b in (0 1 9) do (
for /l %%c in (0 1 9) do (
set/a fnum=2%%a%%b%%c5
set bnum=!fnum:5=a!
set bnum=!bnum:2=5!
set/a bnum=!bnum:a=2!
set/a fnum_=2*!fnum!+2
if !bnum! equ !fnum_! echo !fnum!
)))
echo 检测完毕!
pause>nul

::说明:该程序在xp pro sp2下测试通过。
::解决这个问题,首先我们要明确这个数字结尾必须是5,因为只有这样,才可以在转化后才是偶数,才可以被2整除;而且首位数字必须是::2......

========================================================================================
【07】by [youxi01]
========================================================================================
::答20楼:答案是10 11 12 13 14

@echo off
echo 正在检测数据....
setlocal enabledelayedexpansion
for /l %%i in (1 1 10000) do (
set /a flag=0
set /a num=5*%%i+10
set /a num1=!num!%%4
set /a num2=!num!%%5
set /a num3=!num!%%6
for %%a in (!num1! !num2! !num3!) do (
if %%a neq 0 set /a flag=1
)
if !flag! equ 0 set /a num=%%i & goto :exit
)
:exit
for /l %%i in (0 1 4) do (
set /a num%%i=%num%+%%i
)
echo 要求的连续的5个自然数为:%num0% %num1% %num2% %num3% %num4%
pause>nul

xp pro sp2下测试通过

========================================================================================
【08】by [youxi01]
========================================================================================

@echo off
rem 经推算,首位数字必须为1,(除非未知数为1,为1的情况在第一个for中也处理了)
setlocal enabledelayedexpansion
for /l %%i in (0 1 9) 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

========================================================================================
3

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网