摘要: 引子:编程之美给出了求N!的二进制最低位1的位置的二种思路,但是呢?但是呢?不信你仔细听我道来。1、编程之美一书给出的解决思路 问题的目标是N!的二进制表示中最低位1的位置。给定一个整数N,求N!二进制表示的最低位1在第几位?例如:给定N = 3,N!= 6,那么N!的二进制表示(1 010)的最低位1在第二位。 为了得到更好的解法,首先要对题目进行一下转化。 首先来看一下一个二进制数除以2的计算过程和结果是怎样的。 把一个二进制数除以2,实际过程如下: 判断最后一个二进制位是否为0,若为0,则将此二进制数右移一位,即为商值(为什么);反之,若为1,则说明这个二进制数是奇... 阅读全文
posted @ 2013-10-01 11:18 小桂子的博客 阅读(1217) 评论(0) 推荐(0) 编辑