打不了弟批


私信TA

用户名:WDMoonMoonBird

访问量:33610

签 名:

不想当书法家的程序员不是好厨子

等  级
排  名 27
经  验 15124
参赛次数 122
文章发表 77
年  龄 23
在职情况 学生
学  校 南宁师范大学
专  业 计算机科学与技术

  自我简介:

我爱学习

题目求的是1的个数,二进制中,只包含0和1,所以只需要把每个数跟2的余数相加求和即可

#include using namespace std;
//求二进制
int binary(int num) {
    int sum = 0;
    while(num != 0) {
        sum += num % 2;
        num /= 2;
    }
    return sum;
}
int main() {
    int L,R,sum = 0;
    cin >> L >> R;
    for (int i = L; i <= R; ++i) {
        sum += binary(i);
    }
    cout << (L == R ? binary(L) : sum) << endl;
    return 0;
}


 

0.0分

1 人评分

  评论区