给定一串长度不超过 10^​5的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。

输入格式:

输入在一行中给出长度不超过 10^​5、以回车结束的字符串。

输出格式:

在一行中先后输出 0 的个数和 1 的个数,其间以空格分隔。

输入样例:

PAT (Basic)

输出样例:

3 4

思路

  • 首先整行读取,然后计算总和。
  • 若总和为0,也就是什么都不输入,此时0的个数为0。(测试点3)
  • 总和不为0,使用辗转相除法,记录0和1的个数。
#include <stdio.h>
int main(){
char c;
int sum=0,count[2]={0};
while((c=getchar()) != '\n'){
if(isalpha(c)){//判断输入是否为英文
sum += tolower(c)-'a'+1;//字母转换成小写,累加求和
}
}
for(sum;sum;sum>>=1){
count[sum&1]++;
}
printf("%d %d",count[0],count[1]);
return 0;
}

最新文章

  1. 基于C/S架构的3D对战网络游戏C++框架 _06搭建C/S架构的基本通信框架(尚未写完会重新编辑后再发出)
  2. linux下cetos7无线网络设置办法
  3. HTTP Header 详解
  4. 了解Entity Framework中事务处理
  5. MeasureSpec介绍
  6. MinGW 编译libwebsockets
  7. Linq 的IQueryable和IEnumerable方式
  8. 数据备份--dump(此作者有许多有用的博客文章)
  9. FZU 2086 餐厅点餐(模拟)
  10. Oracle record 解锁
  11. ida dump内存脚本
  12. 纯CSS实现图片
  13. Powerdesigner+Execel
  14. EL表达式遍历Map集合
  15. 新版Eclipse打开jsp、js等为文本编辑,没有JSP Editor插件问题
  16. 如何用core自动创建model,与数据库连接
  17. MySQL 索引原理相关文章
  18. PrimeNG之DataTable
  19. Mini Twitter
  20. 基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)

热门文章

  1. Python关键点常识
  2. 关于心跳ajax请求pending状态(被挂起),stalled时间过长的问题。涉及tcp连接异常。
  3. Python3:ImportError: No module named &#39;compiler.ast&#39;
  4. 原生js实现选字游戏
  5. Python __call__详解
  6. ios9.3.3版本下 document.execCommand(&quot;copy&quot;) 失败
  7. H3C NAT Server
  8. eclipse本地启动tomcat报错集锦
  9. H3C 环路避免机制一:路由毒化
  10. H3C配置路由器作为TFTP客户端