PAT乙题1057. 数零壹(20)
来源:互联网 发布:小马oem 知乎 编辑:程序博客网 时间:2024/06/13 22:19
给定一串长度不超过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
(简单OJ,先用数组转换成二进制,都不需要倒序输出,就可以直接看这串二进制里面有多少个0)
#include<stdio.h>#include<string.h>int main(){int k=0;int sum=0;int sum0=0;int sum1=0;int a[104800]={0};char str[104800];gets(str);for(int i=0;str[i]!='\0';i++){if(str[i]>='a'&&str[i]<='z')sum+=(int)str[i]-96;if(str[i]>='A'&&str[i]<='Z')sum+=(int)str[i]-64;}while(sum){a[k++]=sum%2;sum/=2;}for(int i=0;i<k;i++)if(a[i]==0)sum0++;elsesum1++;printf("%d %d",sum0,sum1); return 0;}
阅读全文
0 0
- PAT乙题1057. 数零壹(20)
- PAT - 1057. 数零壹(20)
- PAT 1057. 数零壹(20)
- 1057. 数零壹(20) PAT
- PAT(B) - 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. 数零壹(20)
- 1057. 数零壹(20)-PAT乙级真题
- PAT BASIC LEVEL 1057. 数零壹(20)
- PAT 乙级 1057.数零壹(20)
- 1057. 数零壹(20) PAT乙级真题
- PAT-B 1057. 数零壹
- 关于数据库连接池c3p0的使用方法
- PAT乙级1053. 住房空置率 (20)
- 自己写的bug,却死也调不出来
- 启动tomcat时,一直卡在Deploying web application directory解决方案
- 戏说flex-grow、flex-shrink、flex-basis
- PAT乙题1057. 数零壹(20)
- PAT乙题1060. 爱丁顿数(25)
- 一个老程序猿的焦虑4
- 日记?
- PAT乙题1061. 判断题(15)
- PAT乙题1064. 朋友数(20)
- 打造前端 Deepin Linux 工作环境——调节鼠标滚轮速度
- 限时八个月大前端学习计划
- 《数据可视化与数据挖掘——基于Tableau和SPSS Modeler图形界面》之前言