zoukankan      html  css  js  c++  java
  • AcWing 801. 二进制中1的个数

    网址 https://www.acwing.com/solution/AcWing/content/2066/

    题目描述
    给定一个长度为n的数列,请你求出数列中每个数的二进制表示中1的个数。

    算法1
    主要是使用位移和 按位与判断最后一位是否是1

    int checkNum;
    (checkNum &1)
    checkNum >>= 1;

    C++ 代码

     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 int T;
     6 const int N= 1e6+100;
     7 int arr[N];
     8 
     9 void check(int checkNum)
    10 {
    11     int count = 0;
    12 
    13     while(checkNum !=0){
    14         if(checkNum &1)
    15             count++;
    16         checkNum >>= 1;
    17     }
    18 
    19     cout << count << " ";
    20 }
    21 
    22 int main()
    23 {
    24     cin >> T;
    25 
    26     int idx = 0; 
    27     while(T--){
    28         cin >> arr[idx++];        
    29     }
    30 
    31     for(int i =0;i < idx;i++)
    32         check(arr[i]);
    33 
    34     return 0;
    35 }
    36 
    37 
    38 作者:defddr
    39 链接:https://www.acwing.com/solution/AcWing/content/2066/
    40 来源:AcWing
    41 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    View Code
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    洛谷1026 统计单词个数
    洛谷1381 单词背诵
    Manacher(hdu3068最长回文)
    洛谷P1078 文化之旅
    HDU1269 迷宫城堡
    codevs1020 孪生蜘蛛
    洛谷P1027 Car的旅行路线
    楼房 洛谷1382 && codevs2995
    Picture poj1177
    排列组合
  • 原文地址:https://www.cnblogs.com/itdef/p/10886609.html
Copyright © 2011-2022 走看看