美文网首页
求整数N的二进制表示中1的个数

求整数N的二进制表示中1的个数

作者: 寒冰豌豆 | 来源:发表于2017-02-24 14:19 被阅读0次

问题:编写一个递归方法,返回数N的二进制表示中1的个数

解决:利用这样一个事实:如果N是奇数,那么它等于N/2的二进制表示中1的个数加1

include <iostream>
using namespace std;

int getones( int N)
{
    if(N==1)
         return 1;
     if( N%2)
          return   getons(N/2) +1;
      else return 1;
 }
 int main()
 {
 
     int N;
     while(1){
         cout<<"请输入一个整数:"<<endl;
         cin>>N;
         if(N==-1)break;
        cout << getones(N);
     }
     return 0;
 }     

相关文章

  • 剑指offer-11-二进制中1的个数

    二进制中1的个数 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:n &= n-1时就可以...

  • 一、位运算

    题目 1、求一个整数,二进制时1的个数 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路:最...

  • 剑指Offer - 11 - 二进制中1的个数

    题目描述 二进制中1的个数 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路 一个数n与n-...

  • 《剑指offer》— JavaScript(11)二进制中1的个

    二进制中1的个数 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 思路一 用1和n进行...

  • 简单小算法

    1、求素数 2、查找整数对应二进制中1的个数 1、为什么n &= (n – 1)能清除最右边的1呢?因为从二进制的...

  • go算法实现

    1.简易的桶排序 2.冒泡排序 3.求整数二进制表示中1的个数

  • 二进制中1的个数

    题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 考察 n & (n - 1) 的作用。

  • 338. 比特位计数

    一 题目: 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返...

  • AC 剑指 Offer II 003. 前 n 个数字二进制中

    给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。 示例 1:...

  • Python编程题19--比特位计数

    题目 给定一个整数 n ,对于 0 ≤ i ≤ n 中的每个 i ,计算其二进制表示中 1 的个数并把它们返回。...

网友评论

      本文标题:求整数N的二进制表示中1的个数

      本文链接:https://www.haomeiwen.com/subject/hhrwwttx.html