成对的数字或指数
Posted
技术标签:
【中文标题】成对的数字或指数【英文标题】:Batch pairs of numbers or exponents 【发布时间】:2013-04-08 03:18:51 【问题描述】:我正在制作一个批处理程序来解决一些方程,我希望我的最终结果可以给我二维码的二进制文件。无论如何,我刚开始用指数进行计算。 我的问题是我不知道如何批量执行该操作,因为我需要将指数与变量 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)
我搜索了网络,但没有找到任何关于它的信息。 在这两种方法上获得帮助会很好,但(从头开始)我更喜欢夫妻方法。
【问题讨论】:
什么是“批处理程序”?你的意思是“批处理文件”?您尝试使用哪种编程语言? 不清楚您打算如何传递输入,也不清楚您希望如何返回/格式化结果。 【参考方案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
希望对你有帮助……
【讨论】:
【参考方案2】:批量算术中没有指数运算符。但是,使用乘法很容易做到:
::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 运算符的详细信息,请参阅here。有关批处理运算符的信息,请参阅here。
【讨论】:
以上是关于成对的数字或指数的主要内容,如果未能解决你的问题,请参考以下文章