假设我有一个由整数变量和算术运算(加法、减法和乘法)组成的表达式。我知道每个乘法需要 M 秒,而每个加法/减法需要 A 秒。是否有一种算法能够以任意分配给变量的最高效方式计算表达式?(假设我只能在内存中存储一个数字)
例子:
M=10
A=1
表达式: a*a+a*b+b*b.
起初,它具有 3 个乘法和 2 个加法,因此总时间为 3*M+2*A=32.
然而,我们可以构建一个等价的表达式 (a+b)*(a+b)-a*b,其中只有 2 个乘法和 3 个加法,因此总计算时间将为 2*M+3*A=23.
例子:
M=10
A=1
表达式: a*a+a*b+b*b.
起初,它具有 3 个乘法和 2 个加法,因此总时间为 3*M+2*A=32.
然而,我们可以构建一个等价的表达式 (a+b)*(a+b)-a*b,其中只有 2 个乘法和 3 个加法,因此总计算时间将为 2*M+3*A=23.
2*M+3*A=23
。我想知道用于计算您的解决方案2*M+3*A=23
中使用的M和A。也许需要另外3M和15A来计算23的解。在那种情况下,总数将是23+45... - גלעד ברקן