题解 | 二进制不同位数
二进制不同位数
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;
}
查看17道真题和解析