短的题解(二进制)
2025-11-03 14:47:16
发布于:广东
5阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
using LL = long long;
LL l, r, cnt;
bool ismhs(LL x) {
if(x <= 1) return false;
LL ocnt = 0;
while(x) {
ocnt += x & 1;
x >>= 1;
}
return ocnt <= 2;
}
int main() {
scanf("%lld%lld", &l, &r);
for(LL i = l; i <= r; i ++) if(ismhs(i)) cnt ++;
printf("%lld\n", cnt);
return 0;
}
这里空空如也

有帮助,赞一个