基础算法# 求一个数的二进制表示当中有几个1 (C++)
文章目录
- 题目链接
- 题目解读
- 思路
- 完整代码
- 参考
题目链接
题目解读
给定L,R。统计[L,R]区间内的所有数在二进制下包含的“1”的个数之和。
如5的二进制为101,包含2个“1”。
思路
直接将该数字转为二进制表示,求其有几个1即可。
完整代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int l,r;
cin>>l>>r;
int cnt=0;
for(int i=l; i<=r; i++){
for(int j=i; j>0; j-=j&-j)cnt++;
}
cout << cnt ;
return 0;
}
参考
acwing 算法平台
🌻编写本篇文章目的是笔者想以输出的形式进行学习,顺便记录学习点滴🌻
🌹 如果本篇文章对你有帮助的话那就点个赞吧👍🌹
😇 本篇文章可能存在多处不足,如有修改意见,可以私信或者评论我哦 😇