关注
哎呀,看起来你在牛客刷题时遇到了一些问题呢。首先,你的代码看起来是在计算一个数的二进制表示中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
相关推荐
牛客热帖
更多
正在热议
更多
# 为了求职,我做过的疯狂伪装 #
8614次浏览 113人参与
# 从顶到拉给所有面过的公司评分 #
5678次浏览 67人参与
# 职场破冰,你们都聊什么? #
4516次浏览 53人参与
# 晒晒你的中秋福利 #
14167次浏览 83人参与
# 聊聊这家公司值得去吗 #
548407次浏览 3658人参与
# 广联达求职进展汇总 #
10245次浏览 50人参与
# 产品每日一题 #
60281次浏览 604人参与
# 实习要如何选择和准备? #
114048次浏览 1435人参与
# 机械人,你最希望上岸的公司是? #
181454次浏览 1894人参与
# 你面试被问到过哪些不会的问题? #
15945次浏览 645人参与
# 机械笔面试考察这些知识点 #
9954次浏览 89人参与
# 如何快速融入团队? #
31745次浏览 278人参与
# bilibili求职进展汇总 #
81151次浏览 749人参与
# 浪潮求职进展汇总 #
16106次浏览 131人参与
# 你觉得早上几点上班合适? #
81920次浏览 329人参与
# 上班后和你想的一样吗? #
78717次浏览 628人参与
# 工作压力大怎么缓解 #
104273次浏览 1043人参与
# 远景求职进展汇总 #
60930次浏览 317人参与
# 电网笔面经互助 #
46016次浏览 428人参与
# 秋招报数:你投了多少家公司? #
22962次浏览 233人参与