题解 | 求int型正整数在内存中存储时1的个数

求int型正整数在内存中存储时1的个数

https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

#include<bits/stdc++.h>
using namespace std;
#define IOS ios_base::sync_with_stdio(false);cin.tie(nullptr)
#define INF 0x7fffffff
#define inf 0x3f3f3f3f
#define PII pair<int,int>
#define endl '\n'
#define int long long
#define mod 998244353
#define MOD 1e9+7
int read() {
    char act = 0;
    int f = 1, x = 0;
    while (act = getchar(), act < '0' && act != '-');
    if (act == '-') f = -1, act = getchar();
    x = act - '0';
    while (act = getchar(), act >= '0') x = x * 10 + act - '0';
    return x * f;
}
void solve() {
    int n;
    cin>>n;
    int ans=__builtin_popcount(n);//函数获取一个数的二进制有多个1
    cout<<ans<<endl;
}
signed main() {
    IOS;
    int t = 1;
    //cin>>t;
    while (t--) {
        solve();
    }

    return 0;
}

全部评论

相关推荐

07-07 14:30
复旦大学 Java
遇到这种人我也不知道说啥了
无能的丈夫:但我觉得这个hr语气没什么问题啊(没有恶意
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务