一个算法,要求算出两个自然数(含数字0),他们的比例有多少个2:1或1:2.然后返回剩余的值,(可能表达的有点问题,试往下看用例说明,谢谢!)
用例如下:
A(4,2)可以构成两个2:1,返回值是:(0,0,2);第一个零表示4构成比例后的的结余,第二个零表示2构成比例后的的结余,第三个表示,总共有几个2:1或者1:2;
B(5,2)可以构成两个2:1,返回值是:(1,0,2);
C(3,7)可以构成三个1:2,返回值是:(0,1,3);
D(5,4)可以构成两个2:1和一个1:2,返回值是:(0,0,3);具体的拆分方法如下:左边拿出四,右边拿出两,就有两个2:1,然后, 这时,左边剩余1,右边剩余2,构成一个1:2;
E(5,5)可以构成两个2:1和一个1:2,返回值是(0,1,3)或者者(1,0,3)------该返回值要有一个固定的规则,具体的拆分方法如下:左边拿出四,右边拿出两,就有两个2:1,然后, 这时,左边剩余1,右边剩余3,构成一个1:2,最后左边剩余0,右边剩余1;(这种取法5:5的时候,可以先从右边先拿出四,所以就会有两个返回值,我们可以给出一个具体的规由,比如必须从左边的数先取出大的值)
不知道这有什么可写的,因为有太多可能性的2:1或者1:2,如果只要一种答案的话几步就搞定了
先分2:1到不可分,在分1:2到不可分,就可以了