架构人生

2009年3月4日

想让一个数拆成 y=2^n1+2^n2+……,这个算法实现心得

摘要: 最开始,我尝试着用乘方来试探,比如用Math.Pow从0开始一直乘方下去,并加其和,直到小于y为止,可是这是个很荒谬的设计,结果当然有问题。 后来与各同行们探讨,有的建议递归,也有建议用数组,其实给我眼睛一亮的建议就是二进制。比如8=2^3,9=2^3+2^0,其实就是转换二进制的过程,8=1000,9=1001。这令我想到了当时学校的数学知识,这就是求得这个算法的最佳解决方案。 阅读全文

posted @ 2009-03-04 11:22 智艾悦 阅读(1664) 评论(11) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示