5 条题解

  • 0
    @ 2025-10-4 16:38:06

    #include<stdio.h>

    int main(){

    int n,m,t;

    scanf("%d",&n);

    while(n--){

    scanf("%d",&m);//输入一个数m

    int x=0;

    while(m!=0){//m不等于0就除2,余就是二进制的一位

    t=m%2;

    m=m/2;

    if(t==1){

    x++;//记录1的数量

    }

    }

    printf("%d\n",x);

    }

    return 0;

    }

    • 0
      @ 2025-9-13 23:38:55
      from math import sqrt,ceil,gcd,log;re=lambda:map(int,input().strip().split())
      for _ in range(int(input())):
          n = int(input())
          print(n.bit_count())
      

      c++(gnu gcc/g++)里面应该可以用__builtin_popcount

      • 0
        @ 2024-12-18 17:28:53
        #include<bits/stdc++.h>
        using namespace std;
        
        int main()
        {
        	int t,sum;
        	cin>>t;
        	int n;
        	while(t--)
        	{
        		cin>>n;
        		sum = 0;
        		while(n>0)
        		{
        			if(n&1)
        			{
        				sum++;
        			}
        			n >>= 1;
        		}
        		cout<<sum<<endl;
        	}
        }
        
        • 0
          @ 2023-9-17 23:44:33
          #include <stdio.h>
          // 函数用于计算一个整数中1的个数
          int fun(int num) 
          {
              int count = 0;
              while (num) 
          	{
                  count += num & 1; // 检查最低位是否为1
                  num >>= 1;       // 二进制结果右移一位,继续检查下一位
              }
              return count;
          }
          
          int main() 
          {
          	int n;
          	scanf("%d",&n);
              int num[n];
              for(int i=0;i<n;i++) 
          	{
                  scanf("%d", &num[i]);
           printf("%d\n",fun(num[i])}
              return 0;
          }
          

          函数算法详细点此处

          • 0
            @ 2023-9-4 22:21:42

            #include<stdio.h> int main() { int n=0,N,M; scanf("%d",&N); if(N<=1&&N>=1000){return 0;} while(N--) { scanf("%d",&M); if(M<0&&M>10000){return 0;} int count=0; while(M) { M=((M-1)&M); count++; } printf("%d\n",count); } return 0; }

            • 1

            信息

            ID
            163
            时间
            3000ms
            内存
            128MiB
            难度
            4
            标签
            (无)
            递交数
            604
            已通过
            290
            上传者