#include <iostream>
using namespace std;
int main()
{
int N; //输入的整数
int j = 0;
int zero = 0;//零的个数
cin >> N;
int a[100];//存放1~N间的所有整数
int b[100];//存放二进制中的1,0
for (int i =1; i <= N; i++)//为数组赋值1~N
{
int t=0;
a[t] = i;
t++;
}
for (int i = 0; i < N; i++)//对1~N所有整数进行二进制转换
{
while (i<N)//二进制转换
{
b[j] = a[i] % 2;
if (b[j] == 0) { zero++; }
a[i] = a[i] / 2;
j++;
}
}
cout << zero << endl;//输出O的个数
}
c语言对于给定的十进制整数N(N<10000),将1到N(含N)之间的每个整数转成二进制……(遇到一个题,我写了一段代码,但怎么也编译不出来,不知道哪里错了,萌新求大神指教!)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 小学狗喵喵叫 2020-10-22 11:06关注
可以取反后用&
int main() { //零的个数 int zero = 0; int N = 1; cin >> N; for (int i = 1; i <= N; i++) { int j = ~i; int tmp = 1; while (tmp <= i) { if (j & tmp) zero++; tmp <<= 1; } } cout << zero << endl;//输出0的个数 return 1; }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 lvgl v8.2定时器提前到来
- ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
- ¥15 cam_lidar_calibration报错
- ¥15 拓扑学,凸集,紧集。。
- ¥15 如何扩大AIS数据容量
- ¥15 单纯型python实现编译报错
- ¥15 c++2013读写oracle
- ¥15 c++ gmssl sm2验签demo
- ¥15 关于模的完全剩余系(关键词-数学方法)
- ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助