主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
Yolan
2023年3月22日 17:20
c解法
P1008
回复 0
|
赞 2
|
浏览 3.3k
#include <stdio.h> int main(){ int n; scanf("%d",&n); int count1=0; while(n!=0){ if(n%2==1) count1++; n/=2; } printf("count0=%d count1=%d",32-count1,count1); return 0; }
uno!
2020年8月22日 16:53
全网最快答案,log(log(n)),约为常数复杂度
P1008
回复 1
|
赞 1
|
浏览 10.0k
#include<iostream> #define pow(c) (1<<(c)) #define mask(c) ((unsigned long)-1)/(pow(pow(c))+1) #define round(n,c) ((n&mask(c))+(n>>pow(c)&mask(c))) using namespace std; int main(){ int n; cin>>n; for(int i=0;i<=4;i++){ n=round(...
Hegel
2023年3月17日 19:31
十进制转二进制,数二进制中01各个的数量
P1008
回复 0
|
赞 0
|
浏览 2.7k
#include <iostream> using namespace std; int main() { int n,i=0; cin>>n; while(n>0){ if(n==1) i++; n/=2; } cout<<"count0="<<32 - i<<" "<<"count1="<<i; return 0; } 首先需要获取转为二进制后的各位,n%2即可,再对改为判断是否为1,是1则1的数量i自增1位,最后输出01各有多少个,注...
蒋黎明
2022年3月15日 19:36
int转unsigned int后二进制,C++手速
P1008
回复 0
|
赞 0
|
浏览 7.1k
#include<bits/stdc++.h> using namespace std; int main(){ int m; cin >> m; unsigned int n = static_cast<unsigned int>(m); string s=""; while(n!=0){ ...
江离
2021年6月15日 20:08
c实现
P1008
回复 0
|
赞 0
|
浏览 8.2k
#include <stdio.h> int main(){ int m; scanf("%d",&m); int a=0; while(m!=0){ if(m%2==1) a++; m/=2; &nbs...
woshipzg123
2021年2月16日 10:04
c++这个题怎么也通不过,原来是要数32位,一直是从1开始数
P1008
回复 0
|
赞 0
|
浏览 8.0k
#include <iostream> #include <algorithm> using namespace std; int main() { int n,count0=0,count1=0; cin>>n; for(int i=0;i<31;++i) { if(n%2==1) count1++; n=n/2; if(n==0) break; } cout<<"count0=&...
swing123
2021年2月15日 17:37
不造为啥编译没过,明明在编译器里面过了
P1008
回复 0
|
赞 0
|
浏览 7.9k
#include<stdio.h> #include<stdlib.h> int main() { int n,count1=0,i; char s[1000]; scanf("%d",&n); itoa(n,s,2); for(i=0;s[i]!='\0';i++) { &n...
烟杨绿未成
2020年5月8日 10:36
此处int占4字节,即32位。求出1的个数后,用32减去即为0的个数
P1008
回复 0
|
赞 0
|
浏览 10.4k
#include<iostream> #include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<map> using namespace std; int main() { int n, cnt = 0; char s[100]; int count1 = 0; ...
Trisirt
2020年4月13日 18:07
#1008 0和1的个数,本地能通过,但oj上编译错误
P1008
回复 1
|
赞 0
|
浏览 10.4k
#include #include int main() { int n; char bin[33]; scanf("%d", &n); int cnt0 = 0, cnt1 = 0; itoa(n, bin, 2); //感觉是这个itoa()编译不通过 for(int i = 0; i < 32; i++) { if(bin[i] == '1') cnt1++; else cnt0++; } ...
wugenqiang
2020年3月30日 17:59
P1008 - 0 和 1 的个数 - C
P1008
回复 0
|
赞 0
|
浏览 11.6k
/*给定一个int型整数,输出这个整数的二进制的0和1的个数。 输入样例:15 输出样例:count0=28 count1=4*/ #include <stdio.h> int main(){ int n; scanf("%d",&n);//输入int整数 int cnt = 0;//定义1的个数 while(n > 0){ if(n % 2){ cnt++;//记录1的个数 } n /= 2; } printf("count0=%d count1=%d\n",32-cnt,cnt); ...
1
2
3
题目
0和1的个数
题解数量
29
发布题解
热门题解
1
1008二进制0和1的个数(不要忽略掉int的问题!!!!)
2
题解:0和1的个数
3
int型4字节一个字节存放8个0或者1
4
0和1的个数 题解:代码相对来说简洁
5
C++常规解法
6
c解法
7
不断除以2,看最后一位的奇偶
8
全网最快答案,log(log(n)),约为常数复杂度
9
p1008 - 0和1的个数(C语言)
10
0和1的个数 (位运算)题解: