1057 数零壹 (20 分)C语言
2024-09-06 17:21:10
给定一串长度不超过 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;
}
最新文章
- 基于C/S架构的3D对战网络游戏C++框架_06搭建C/S架构的基本通信框架(尚未写完会重新编辑后再发出)
- linux下cetos7无线网络设置办法
- HTTP Header 详解
- 了解Entity Framework中事务处理
- MeasureSpec介绍
- MinGW 编译libwebsockets
- Linq 的IQueryable和IEnumerable方式
- 数据备份--dump(此作者有许多有用的博客文章)
- FZU	2086 餐厅点餐(模拟)
- Oracle record 解锁
- ida dump内存脚本
- 纯CSS实现图片
- Powerdesigner+Execel
- EL表达式遍历Map集合
- 新版Eclipse打开jsp、js等为文本编辑,没有JSP Editor插件问题
- 如何用core自动创建model,与数据库连接
- MySQL 索引原理相关文章
- PrimeNG之DataTable
- Mini Twitter
- 基于java的网络爬虫框架(实现京东数据的爬取,并将插入数据库)
热门文章
- Python关键点常识
- 关于心跳ajax请求pending状态(被挂起),stalled时间过长的问题。涉及tcp连接异常。
- Python3:ImportError: No module named &#39;compiler.ast&#39;
- 原生js实现选字游戏
- Python __call__详解
- ios9.3.3版本下 document.execCommand(";copy";) 失败
- H3C NAT Server
- eclipse本地启动tomcat报错集锦
- H3C 环路避免机制一:路由毒化
- H3C配置路由器作为TFTP客户端