前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >36:二进制分类

36:二进制分类

作者头像
attack
发布2018-04-11 11:51:27
1.4K0
发布2018-04-11 11:51:27
举报
文章被收录于专栏:数据结构与算法

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类数的个数,中间用单个空格隔开。样例输入

代码语言:javascript
复制
(无)

样例输出

代码语言:javascript
复制
(不提供)

来源NOIP1995复赛 普及组 第三题

代码语言:javascript
复制
 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 }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 36:二进制分类
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档