netdzb 当前离线
上尉
doub07 当前离线
列兵
评分人数
TOP
cutebe 当前离线
@echo off echo 已知: echo ^|a^|=5,^|b^|=3;^|a-b^|=b-a echo 求:a=?,b=? echo/ echo 答: ::绝对值公式引用: ::qzwqzw@cn-dos 2007-1-17 ::a取值的上下限各缩小一半 //说实话,这句意思没能理解 ::set /a b=(a*2+1)%%2*a //求绝对值公式 setlocal enableDelayedExpansion ::已知 set/a _0_=0,a1=5,b1=3 set a_b1=b-a ::a、b的另一个可能值 set/a a2=_0_-a1,b2=_0_-b1 ::求解 for %%a in (%a1% %a2%)do ( for %%b in (%b1% %b2%)do ( set/a "a_b=%%a-%%b,b_a=%%b-%%a,a_b1=(a_b*2+1)%%2*a_b" if !a_b1! equ !b_a! echo a:%%a b:%%b ) ) pause复制代码
路过 当前离线
三级士官
@echo off ::利用绝对值的定义构造的函数abs,#为算式,结果为变量jdz set "abs=set/a jdz=#&if !jdz! leq 0 set/a jdz=-jdz" setlocal enabledelayedexpansion for %%a in (5 -5) do ( for %%b in (3 -3) do ( set/a a=%%a,b=%%b,w=b-a %abs:#=a-b% if !jdz!==!w! (echo;a:%%a b:%%b) ) ) pause exit复制代码
terse 当前离线
中将
@echo off setlocal enabledelayedexpansion for %%a in (5 -5) do ( for %%b in (3 -3) do ( set/a "a=%%a-%%b,b=%%b-%%a,a=(a ^ (a >> 31)) - (a >> 31)" if !a! equ !b! echo a=%%a b=%%b ) ) pause复制代码
set x=-5 set/a "y=x >> 31, x=(x ^ y) - y" echo;%x%复制代码
老刘1号 当前离线
论坛巡查
:- initialization(main). main :- a(A), b(B), C is abs(A - B), C #= B - A, write('A='), write(A), write(' B='), write(B), nl, fail. a(5). a(-5). b(3). b(-3).复制代码