摘要: 最近在网上看到个小学四年级的数学题,用1~8这8个数字构成两个四位数,每个数字只能使用一次,要求其中一个四位数是另一个四位数的4倍,求出这两个数。算了一会,没得啥子思路,感觉要试很多次才搞得出来,索性就编个程序算。解决这个问题的主要方向就是排列组合的问题,列出所有的组合,然后将字符数组转换为数字,找出符合关系的数字即为答案。计算出来有两组答案,7452=1863*4,5472=1368*4。根据百度文库里面有一篇文章讲解字符排列组合的算法,如aba abcba cab bca acb bac abc......以此类推。此算法就是利用上一次排列的结果,根据新加入的元素插入的位置来组织数据在内存 阅读全文
posted @ 2013-02-19 21:15 ideawu 阅读(397) 评论(0) 推荐(0) 编辑