求N!的二进制表示中最低位1的位置
来源:互联网 发布:如何开设淘宝店 编辑:程序博客网 时间:2024/06/05 18:00
题目第一种解法:
/************************************************************************//* 判断N!的二进制数中最低位1的位置解法一: 题目和上一题差不多,上一题是0的个数,这里是最低位1的位置,是类似的。由于二进制中除以2能整除为0,所以,这个问题就是求二进制数种2个个数。*//************************************************************************/int numberOfZeroInBinary(int n){if(n < 0) return -1;if(n == 0) return 0;int ret = 0;while(n){n >>= 1;ret += n;}return ret;}
第二种解法:
/************************************************************************//* 判断N!的二进制数中最低位1的位置解二:*//************************************************************************/int numberOfZeroInBinary2(int n){return n - numberOfOne(n);}//计算N的二进制中含有1的个数int numberOfOne(int n){int numberOfOne = 0;while(n){n &= (n - 1);numberOfOne++;}return numberOfOne;}
最后,书中还提到了一个附加的题目:
解法就是求n & (n - 1)。
- 求N!的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置
- 编程之美---求N!的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置 ->求 N!的质因子2的个数
- 求N!的二进制表示中最低位1的位置解答题中一个小证明
- 求N!的二进制表示最低位的1的位置(从右向左数)
- 求n的阶层二进制最低位1的位置
- 求N!二进制最低位1的位置
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?求N!的二进制表示中最低位1的位置。
- C程序:n!的二进制表示中最低位1的位置
- 编程之美-2.2、n阶乘的二进制表示中最低位1的位置
- 阶乘N!的二进制表示中最低位1的位置
- 编程之美2——N!的二进制表示中最低位1的位置
- 求正整数的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的值
- 判断N!中二进制中最低位1的位置
- 阶乘中最低位0的个数&二进制表示中最低位1的位置
- Ubuntu-jdk+tomcat+eclipse软件安装
- UVA 573 Steps 简单模拟题
- android Wifi模块分析
- UVA 10023 Square root
- Map<String, HttpSession> map=(Map<String, HttpSession>) sc.getAttribute("users");//保存所有登录有关的map对象
- 求N!的二进制表示中最低位1的位置
- 第一个C#程序(简单计算器)
- TCP协议深入理解
- BB10 Cascades: 如何给应用签名。
- <listener-class>com.tfy.heima.listener.OnlineUserListener</listener-class>
- php:htmlspecialchars() --html标签转为实体字符
- Qualifying source code on HP-UX(chatr)
- C++ STL 中map的一些用法
- Servlet连sql server2005