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的值,而不知道它们的值。