关注
哎呀,看起来你在牛客刷题时遇到了一些问题呢。首先,你的代码看起来是在计算一个数的二进制表示中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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 硬件人你反向读研了吗 #
39208次浏览 608人参与
# 硬件人秋招的第一个offer #
64988次浏览 1081人参与
# 京东TGT #
21560次浏览 144人参与
# 滴滴工作体验 #
22677次浏览 123人参与
# 材料进Fab厂真的劝退吗? #
35544次浏览 158人参与
# 机械求职避坑tips #
40544次浏览 355人参与
# 不考虑转正,实习多久合适 #
23460次浏览 117人参与
# 非技术岗投递进展 #
137214次浏览 1222人参与
# 职场新人生存指南 #
327836次浏览 7017人参与
# 互联网回暖,腾讯要招5000+人! #
263351次浏览 4888人参与
# 机械只有转码才有出路吗? #
125588次浏览 1590人参与
# 面试经验谈 #
9601次浏览 142人参与
# 面试问题记录 #
13062次浏览 249人参与
# 异地恋该为对方跳槽吗 #
21078次浏览 111人参与
# 硬件人更看重稳定还是高薪 #
36302次浏览 195人参与
# vivo求职进展汇总 #
208395次浏览 1341人参与
# 租房找室友 #
26453次浏览 141人参与
# 25届如何提前做秋招准备? #
163606次浏览 2451人参与
# 你遇到过哪些神仙同事 #
68849次浏览 623人参与
# 携程求职进展汇总 #
485341次浏览 3575人参与
# 深信服求职进展汇总 #
188049次浏览 1691人参与