PAT 乙级 1057.数零壹(20)
来源:互联网 发布:北京外企和fdi数据 编辑:程序博客网 时间:2024/06/16 04:10
1057. 数零壹(20)
时间限制
200 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
CHEN, Yue
给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母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。
输入格式:
输入在一行中给出长度不超过105、以回车结束的字符串。
输出格式:
在一行中先后输出0的个数和1的个数,其间以空格分隔。
输入样例:PAT (Basic)输出样例:
3 4
1.用gets()输入字符串,因为字符串里有空客,用scanf()可能会丢失一部分字符串;
2.计算序号可以用str[i]-'a'+1的方法;
3.最后一步就是十进制转化为二进制;
代码示例:
#include <stdio.h>#include <string.h>int main(){ int i,sum=0,cnt0=0,cnt1=0; char str[100001]; gets(str); for(i=0;i<strlen(str);i++){ if(str[i]<='z'&&str[i]>='a') sum+=str[i]-'a'+1; else if(str[i]<='Z'&&str[i]>='A') sum+=str[i]-'A'+1; } while(sum){ if(sum%2==1) cnt1++; else if(sum%2==0) cnt0++; sum=sum/2; } printf("%d %d",cnt0,cnt1); return 0;}
阅读全文
0 0
- PAT 乙级 1057.数零壹(20)
- PAT 乙级 1057. 数零壹(20)
- 1057. 数零壹(20) PAT 乙级
- PAT乙级 1057. 数零壹(20)
- PAT乙级 1057. 数零壹(20)
- [PAT乙级]1057. 数零壹(20)
- PAT乙级1057. 数零壹(20)
- pat 乙级 1057. 数零壹(20)
- [PAT-乙级]1057.数零壹
- 1057. 数零壹(20)-PAT乙级真题
- 1057. 数零壹(20) PAT乙级真题
- PAT乙级——1057. 数零壹(20)-native
- PAT乙级1057 数零壹
- PAT乙级1057 数零壹
- PAT乙级 在霍格沃茨找零钱(20)
- PAT乙级 到底买不买(20)
- PAT乙级1009: 说反话(20)
- PAT-乙级-1039. 到底买不买(20)
- Linux学习笔记:Linux基础命令之四(系统管理类命令)
- SSO实现注意点
- codeforces 673C(思维)
- maven的安装,maven与ecpliese集成
- Servlet基本结构的源码解析
- PAT 乙级 1057.数零壹(20)
- 1089. Insert or Merge (25)
- python 正则表达式
- ceph预环境安装
- React-native 安卓模拟器的刷新
- java类加载器学习笔记
- Path之贝塞尔曲线
- viterbit 算法
- SQL语句的30种优化方案