关注
哎呀,看起来你在牛客刷题时遇到了一些问题呢。首先,你的代码看起来是在计算一个数的二进制表示中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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你实习是赚钱了还是亏钱了? #
31662次浏览 243人参与
# CVTE求职进展汇总 #
23503次浏览 322人参与
# 360集团校招 #
22724次浏览 166人参与
# 用一句话形容你的团队氛围 #
19069次浏览 179人参与
# 本机械人被这些公司泡过池子 #
37292次浏览 183人参与
# 你找工作是从容有余 or 匆忙滚爬? #
12852次浏览 97人参与
# 京东开奖 #
475657次浏览 2691人参与
# 中核求职进展汇总 #
28872次浏览 193人参与
# 海康威视工作体验 #
46071次浏览 158人参与
# 联影医疗求职进展汇总 #
6866次浏览 26人参与
# 外包能不能当跳板? #
48012次浏览 245人参与
# 毕业论文进行时 #
7349次浏览 84人参与
# 2022毕业即失业取暖地 #
116934次浏览 707人参与
# 同bg的你秋招战况如何? #
175495次浏览 1024人参与
# 机械人与华为的爱恨情仇 #
137771次浏览 1013人参与
# 嵌入式岗知多少 #
59115次浏览 548人参与
# 面对逼签的应对技巧 #
8011次浏览 40人参与
# 找实习你看重大厂光环还是业务方向 #
41905次浏览 164人参与
# 我来点评面试官 #
17202次浏览 116人参与
# 哪些公司校招卡第一学历 #
220702次浏览 777人参与
# 扒一扒那些奇葩实习经历 #
127266次浏览 1100人参与
科大讯飞公司氛围 431人发布