首页 > 代码库 > 36:二进制分类
36:二进制分类
36:二进制分类
- 查看
- 提交
- 统计
- 提问
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为A类数,否则就称其为B类数。
例如:
(13)10 = (1101)2,其中1的个数为3,0的个数为1,则称此数为A类数;
(10)10 = (1010)2,其中1的个数为2,0的个数也为2,称此数为B类数;
(24)10 = (11000)2,其中1的个数为2,0的个数为3,则称此数为B类数;
程序要求:求出1~1000之中(包括1与1000),全部A、B两类数的个数。
- 输入
- 无。
- 输出
- 一行,包含两个整数,分别是A类数和B类数的个数,中间用单个空格隔开。
- 样例输入
(无)
- 样例输出
(不提供)
- 来源
- NOIP1995复赛 普及组 第三题
1 #include<iostream> 2 using namespace std; 3 int alei; 4 int blei; 5 int main() 6 { 7 for(int i=1;i<=1000;i++) 8 { 9 int yi=0;10 int ling=0;11 int now=i;//记录i的值 12 while(now!=0)13 {14 int r=now%2;15 if(r==1)yi++;16 else if(r==0)ling++;17 now=now/2;18 }19 if(yi>ling)alei++;20 else blei++;21 }22 cout<<alei<<" "<<blei;23 return 0;24 }
36:二进制分类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。