首页 新闻 会员 周边 捐助

多少个2:1或者1:2

0
悬赏园豆:10 [已解决问题] 解决于 2008-10-21 15:39

一个算法,要求算出两个自然数(含数字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个数的判断.算法要有一个固定的规则,然后传数的两个数值,其实就是二叉树的左右两边子树的结点总树,所以传入的值是变化递增的.
未来帅哥的主页 未来帅哥 | 初学一级 | 园豆:159
提问于:2008-10-18 21:17
< >
分享
最佳答案
0

不知道这有什么可写的,因为有太多可能性的2:1或者1:2,如果只要一种答案的话几步就搞定了

先分2:1到不可分,在分1:2到不可分,就可以了

howard-Wang | 菜鸟二级 |园豆:415 | 2008-10-19 22:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册