📜  门|门 CS 1997 |第 34 题

📅  最后修改于: 2021-09-27 05:41:18             🧑  作者: Mango

表达式(a*b)* c op……..

其中 ‘op’ 是 ‘ + ‘、’ * ‘ 和 ‘ ‘(取幂)之一,可以在具有单个寄存器的 CPU 上进行计算,而无需存储(a * b)的值,如果
(A) ‘op’ 是 ‘+’ 或 ‘*’
(B) ‘op’ 是 ‘↑’ 或 ‘*’
(C) ‘op’ 是 ‘↑’ 或 ‘+’
(D)不储存就无法评估答案:(一)
说明:给定的表达式是:-

(a*b)* c op  

这里 op 是 ‘+’、’*’ 和 ‘↑’(取幂)之一。

(a* b)* 具有高优先级,因此它将首先在 CPU 寄存器中进行评估。但是我们给出了一个寄存器,因为我们无法将任何值从 reg 存储到内存。

现在 ( a * b ) 在寄存器 R 中求值,优先顺序是 ( ↑ , * or / , + or – )。

如果我们把 op 作为 (a*b)* c op ‘ ↑ ‘ 那么表达式变成 (a*b)* c ↑ d 这里 c ↑ d 将首先评估。但是我们没有额外的寄存器来评估( a * b )。
因此我们不能放置任何优先级大于“*”的运算符。

因此,运算符是“+”或“-”。
这个问题的测验