Algorithm 使用ADD、SUB、MULT和DIV将某些值放入框中?

Algorithm 使用ADD、SUB、MULT和DIV将某些值放入框中?,algorithm,math,Algorithm,Math,今天我参加了一个开发人员的面试,我必须做这个能力倾向测试。。。 我遇到了两个问题: box 1 box 2 box 3 A B C 如何在只有这4个操作符(ADD、SUB、MULT和DIV)的情况下将A放入每个框中 你有数字1,2和3,可以在盒子1,盒子2或盒子3中,但我们不知道哪个是哪个。。。如何将7放入方框3 有人能告诉我怎么做吗? 语法是:ADD,1,2,3=>box3=box1+box2 感谢您回答第一个问题,您可以通过在每个框中存储A+A将框B和C设置为等于

今天我参加了一个开发人员的面试,我必须做这个能力倾向测试。。。 我遇到了两个问题:

box 1  box 2  box 3
 A      B      C
如何在只有这4个操作符(ADD、SUB、MULT和DIV)的情况下将A放入每个框中

你有数字1,2和3,可以在盒子1,盒子2或盒子3中,但我们不知道哪个是哪个。。。如何将7放入方框3

有人能告诉我怎么做吗? 语法是:ADD,1,2,3=>box3=box1+box2


感谢您回答第一个问题,您可以通过在每个框中存储A+A将框B和C设置为等于2A:

ADD 2, 1, 1
ADD 3, 1, 1
现在,只需从每个框中减去A:

SUB 2, 2, 1
SUB 3, 3, 1
这将导致在任何地方都存储数据。因此,生成的程序是

ADD 2, 1, 1  // Box 1 = A  Box 2 = 2A  Box 3 = C
ADD 3, 1, 1  // Box 1 = A  Box 2 = 2A  Box 3 = 2A
SUB 2, 2, 1  // Box 1 = A  Box 2 = A   Box 3 = 2A
SUB 3, 3, 1  // Box 1 = A  Box 2 = A   Box 3 = A
DIV 1, 1, 1   // Box 1 = 1  Box 2 = ?  Box 3 = ?
ADD 2, 1, 1   // Box 1 = 1  Box 2 = 2  Box 3 = ?
ADD 3, 2, 2   // Box 1 = 1  Box 2 = 2  Box 3 = 4
ADD 3, 3, 2   // Box 1 = 1  Box 2 = 2  Box 3 = 6
ADD 3, 3, 1   // Box 1 = 1  Box 2 = 2  Box 3 = 7
对于第二个问题,一个可爱的技巧是将某个盒子除以它自己的值,然后将1放入其中。例如:

DIV 1, 1, 1
现在,让我们将框1的内容加倍并存储在框2中,将框2放入框2中:

ADD 2, 1, 1
ADD 3, 2, 2
现在,让我们将方框2的内容加倍并存储在方框3中,将4放入方框3:

ADD 2, 1, 1
ADD 3, 2, 2
接下来,通过添加框3的内容,将2添加到框3中。这使得方框3可以容纳6:

ADD 3, 3, 2
最后,通过添加框3的内容,将1添加到框3中。这使得方框3可以容纳7:

ADD 3, 3, 1
因此,整个方案是可行的

ADD 2, 1, 1  // Box 1 = A  Box 2 = 2A  Box 3 = C
ADD 3, 1, 1  // Box 1 = A  Box 2 = 2A  Box 3 = 2A
SUB 2, 2, 1  // Box 1 = A  Box 2 = A   Box 3 = 2A
SUB 3, 3, 1  // Box 1 = A  Box 2 = A   Box 3 = A
DIV 1, 1, 1   // Box 1 = 1  Box 2 = ?  Box 3 = ?
ADD 2, 1, 1   // Box 1 = 1  Box 2 = 2  Box 3 = ?
ADD 3, 2, 2   // Box 1 = 1  Box 2 = 2  Box 3 = 4
ADD 3, 3, 2   // Box 1 = 1  Box 2 = 2  Box 3 = 6
ADD 3, 3, 1   // Box 1 = 1  Box 2 = 2  Box 3 = 7

希望这有帮助

你是不是必须把B和C从各自的盒子里去掉,这样每个盒子最后只有一个字母:A?干得好!第二步可以少走一步,不是吗?第1、1、1组;添加1,1,1;添加2、2、3;加上1,2,3。@kasavbere-我不确定我是否明白这是怎么回事-你能详细说明一下吗?您的方法必须与我的不同,因为您使用的是Box2和Box3的值,而不知道它们的值。