编程之美2.2 求N!中最低位1 的位置
2013-09-10 14:35
302 查看
/*============= 两种方法求N!的二进制表示中最低位1的位置 2013-09-10 14:33 by Mei ===============*/ #include <iostream> using namespace std; int num(int n) { int a = 0; while(n%2==0) { a++; n = n/2; } return a; } //第一种方法 int first(int n) { int ret = 0; for(int i=2; i<=n;i+=2) { ret += num(i); } return ret+1; } //第二种方法 int second(int n) { int ret = 0; while(n) { n >>= 1; ret += n; } return ret+1; } int main() { int n; cout <<"请输入n: "; cin >> n; cout <<first(n)<<endl; cout <<second(n) << endl; return 0; }
相关文章推荐
- 编程之美 2.2阶乘中最低位0的个数&二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置。(编程之美)
- 编程之美-2.2、n阶乘的二进制表示中最低位1的位置
- 求N!的二进制表示中最低位1的位置
- 编程之美2――N!的二进制表示中最低位1的位置
- n! 最低位1的位置
- Android2.2调用Google Map api进行位置搜索
- 编程之美2.14扩展问题2 求数组的子数组之和的最大值并给出子数组的起始终止位置
- 编程之美2.2不要被阶乘吓倒
- 《编程之美》学习笔记——2.2不要被阶乘吓倒
- 编程之美2.2 不要被阶乘吓倒
- 算法->编程之美2.2 N!末尾有多少个0
- 编程之美->N!最低位1的位置
- N的阶乘二进制表示的最低位1的位置
- Android 2.2 设置应用程序安装位置
- [编程之美2.2]不要被阶乘吓到
- 编程之美---求N!的二进制表示中最低位1的位置
- n! 的二进制表示中最低位1的位置
- 不要被阶乘吓倒(二进制表示中最低位1的位置 )
- 求N!的二进制表示中最低位1的位置