关注
哎呀,看起来你在牛客刷题时遇到了一些问题呢。首先,你的代码看起来是在计算一个数的二进制表示中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
相关推荐
查看22道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客树洞,我想对你说 #
15174次浏览 119人参与
# 求职中的尴尬瞬间 #
6489次浏览 53人参与
# 快手技术岗信息交流阵地 #
6897次浏览 53人参与
# 大学最后一个寒假,我想…… #
55135次浏览 600人参与
# 牛客周边新品开箱 #
11605次浏览 91人参与
# 牛友的志愿填报指南 #
36324次浏览 188人参与
# 应届生被毁约被毁意向了怎么办 #
47637次浏览 280人参与
# 如何KTV领导 #
73975次浏览 505人参与
# 研究所笔面经互助 #
97642次浏览 550人参与
# 怎么给家人解释你的工作? #
15035次浏览 87人参与
# 硬件人的春招flag #
52853次浏览 435人参与
# 得物app工作体验 #
29864次浏览 69人参与
# 机械人避雷的岗位/公司 #
29973次浏览 249人参与
# 国企还是互联网,你怎么选? #
172406次浏览 1305人参与
# 你的mentor是什么样的人? #
18772次浏览 119人参与
# 打工人锐评公司红黑榜 #
175881次浏览 1023人参与
# 帮我看看,领导说这话什么意思? #
24898次浏览 107人参与
# 大疆工作体验 #
19908次浏览 85人参与
# 校招泡的最久的公司是哪家? #
15518次浏览 94人参与
# 机械人集合!你是什么工程师? #
21072次浏览 91人参与
# 今年形式下双非本找得到工作吗 #
239703次浏览 1435人参与
