打不了弟批


私信TA

用户名:WDMoonMoonBird

访问量:33634

签 名:

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

等  级
排  名 27
经  验 15129
参赛次数 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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区