0

我正在制作一个批处理程序来解决一些方程,我希望我的最终结果可以给我二维码的二进制文件。无论如何,我刚开始用指数进行计算。我的问题是我不知道如何批量执行此操作,因为我需要将指数与变量 x 一起使用:

x^2 + x^3
x^4 + x^5
x^2 * x^4 + x^3 * x^5 
= x^6 + x^8

然后我想我可以使用几个数字,因为我只需要将一个指数加到另一个上。

(2 , 3) +
(4 , 5)
= (6 , 8)

我搜索了网络,但没有找到任何关于它的信息。
在这两种方法上获得帮助会很好,但(从头开始)我更喜欢夫妻方法。

4

2 回答 2

1

打扰一下。你的问题不清楚;也许如果您向我们解释什么是“二维码二进制”,我们可能会以更好的方式帮助您。无论如何,这是我可能的解决方案的版本。

这个程序:

@echo off
setlocal
for /F "tokens=1,2 delims=(,) " %%a in (file1.txt) do (
   echo (%%a , %%b^) +
   set /A a+=%%a, b+=%%b
)
echo = (%a% , %b%)

...有了这些数据:

(2 , 3)
(4 , 5)

...产生这个输出:

(2 , 3) +
(4 , 5) +
= (6 , 8)

这个程序:

@echo off
setlocal EnableDelayedExpansion
rem Do multiplication of all 2-terms equations
for /F "delims=" %%e in (file2.txt) do (
   echo %%e
   set "equation=%%e"
   rem Eliminate "x^ and +" from equation
   for %%a in (x ^^ +) do set equation=!equation:%%a=!
   rem Add exponents
   for /F "tokens=1,2" %%a in ("!equation!") do (
      set /A a+=%%a, b+=%%b
   )
)
echo = x^^%a% + x^^%b%
rem Add similar terms
if %a% equ %b% (
   echo = 2x^^%a%
)

...有了这些数据:

x^2 + x^3
x^4 + x^5

...产生这个输出:

x^2 + x^3
x^4 + x^5
= x^6 + x^8

...,但有了这些数据:

x^2 + x^3
x^4 + x^3

...产生这个输出:

x^2 + x^3
x^4 + x^3
= x^6 + x^6
= 2x^6

我希望它有帮助...

于 2013-04-08T06:47:42.107 回答
0

批处理算术中没有指数运算符。但是,使用乘法很容易做到:

::x^2
set /a x*=x
::x^3
set /a x*=x*x
::x^4
set /a x*=x*x*x

我不知道您所说的“一对数字”是什么意思,但是如果您解释一下,我会尽力提供帮助。

作为旁注,您可以使用 VBScript 来执行此操作。例如,x = x ^ 2将平方x。有关 VBScript 运算符的更多信息,请参见此处。有关批处理运算符的信息,请参见此处

于 2013-04-08T04:57:12.607 回答