题解 | 二进制不同位数

二进制不同位数

https://www.nowcoder.com/practice/daf9032926614dab91ca624a7759a868

很水的一道题,异或后可以通过右移位&1来统计个数,同样的也可以用c++内置函数实现(懒人做法))__builtin_popcountll(m^n)直接统计二进制1的个数(我是懒人)

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=998244353;
const int N=500010;
void solve(){
    int m,n;cin>>m>>n;
    int x=m^n;
    int ans=__builtin_popcountll(x);
    cout<<ans<<"\n";
}
signed main(){
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int t=1;
    // cin>>t;
    while(t--){
        solve();
    }return 0;
}

全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

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