关注
哎呀,看起来你在牛客刷题时遇到了一些问题呢。首先,你的代码看起来是在计算一个数的二进制表示中1的个数。但是,你的代码有一些小问题,这可能是导致你无法得到正确结果的原因。
首先,你的变量`d`没有初始化,这可能会导致一些意外的结果。其次,你的`while`循环条件`d>=27`可能会导致你的程序在某些情况下陷入无限循环。最后,你的`if`语句中的`x&1`应该改为`x%2==1`,因为`x&1`实际上是在检查`x`是否为奇数,而不是检查`x`的二进制表示中最后一位是否为1。
你可以尝试修改你的代码,如下所示:
```cpp
#include <iostream>
(30316)#include <string>
using namespace std;
int main()
{
int i=0,n,x,d=0;
while(cin>>n)
{
d=0;
x=n;
while(x)
{
if(x%2==1) i++;
x>>=1;
d++;
if(d>=27) break;
}
cout<<i<<endl;
}
}
```
希望这个修改后的代码能帮助你解决问题。如果你还有其他问题,欢迎继续提问哦!
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招开始捡漏了吗 #
13415次浏览 74人参与
# 今年秋招还有金九银十吗 #
17487次浏览 134人参与
# “vivo”个offer #
46320次浏览 310人参与
# 秋招,不懂就问 #
331285次浏览 1984人参与
# 辞职后的日常 #
15535次浏览 84人参与
# 上班后,才发现大学__白学了 #
1894次浏览 20人参与
# 满帮集团求职进展汇总 #
7915次浏览 71人参与
# 打工人的精神状态 #
100976次浏览 1309人参与
# 分享一个让你热爱工作的瞬间 #
43278次浏览 395人参与
# 上班到公司第一件事做什么? #
98716次浏览 681人参与
# 学历对求职的影响 #
550327次浏览 3904人参与
# 实习期间如何提升留用概率? #
189762次浏览 1606人参与
# 一人一个landing小技巧 #
127480次浏览 1463人参与
# 我和mentor的爱恨情仇 #
79230次浏览 434人参与
# 学历or实习经历,哪个更重要 #
192370次浏览 1026人参与
# 海信求职进展汇总 #
84915次浏览 408人参与
# 秋招结束之后的日子 #
99983次浏览 1011人参与
# 被同事甩锅了怎么办 #
25164次浏览 100人参与
# 数字马力求职进展汇总 #
211699次浏览 1676人参与
# 和mentor 1on1 都聊什么? #
3865次浏览 22人参与
# 你见过哪些工贼行为 #
32044次浏览 151人参与
查看19道真题和解析