问题标题: 酷町堂:6794 TLE 70

0
0
已解决
俞景熙
俞景熙
高级守护
高级守护

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main(){
    cin>>n;
    for(int i=0;i<=n;i++){
        int t=i,cnt=0;
        while(t){
            if(t%2){
                cnt++;
            }
            t/=2;
        }
        cout<<cnt<<" ";
    } 
    return 0;
}
 


0
已采纳
汪恺恒
汪恺恒
中级启示者
中级启示者

这题可以用一个函数

__builtin_popcount(x)

表示求x在二进制中有多少个1

你最好加个万能头

#include<bits/stdc++.h>

注意,函数前面有两个下划线

0
王文博
王文博
缔造者之神
缔造者之神
cout<<__builtin_popcount(i)<<" ";

直接输出即可AC。

望采纳!

0
0
刘乐宸
刘乐宸
新手天翼
新手天翼

用函数

__builtin_popcount(x)

我要回答