PAT乙级:1057 数零壹 (20分)

题干

给定一串长度不超过 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

思路

主要是记录有用的库函数。

  • tolower函数:将字母变成小写
  • getline(cin,str)函数,读一整行到str里。

思路其实很简单的,记录完,计算余数即可。

code

#include<iostream>
#include<string>
#include<cctype>
using namespace std;
int main(){
string temp;
getline(cin,temp);
int cnt=0,cnt_1=0,cnt_0=0;
for(auto it=temp.begin();it!=temp.end();it++){
if(isalpha(*it)){
*it=tolower(*it);
cnt+=*it-'a'+1;
}
}
while(cnt){
if(cnt%2) cnt_1++;
else cnt_0++;
cnt/=2;
}
printf("%d %d",cnt_0,cnt_1);
return 0;
}

结果

提交时间 状态 分数 题目 编译器 耗时 用户
2020/4/4 12:54:31 答案正确 20 1057 C++ (g++) 10 ms a man
测试点 结果 耗时 内存
0 答案正确 5 ms 424 KB
1 答案正确 5 ms 364 KB
2 答案正确 10 ms 516 KB
3 答案正确 10 ms 512 KB
4 答案正确 4 ms 424 KB

PAT乙级:1057 数零壹 (20分)的更多相关文章

  1. PAT乙级-1057. 数零壹(20)

    给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多少1.例如给定字符串" ...

  2. PAT Basic 1057 数零壹 (20 分)

    给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定 ...

  3. PAT (Basic Level) Practice (中文)1057 数零壹 (20 分) (按行输入带空格的字符串)

    给定一串长度不超过 1 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例如给定 ...

  4. 1057 数零壹 (20 分)C语言

    给定一串长度不超过 10^​5的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0.多少 1.例 ...

  5. PAT(B) 1057 数零壹(Java)字符串

    题目链接:1057 数零壹 (20 point(s)) 题目描述 给定一串长度不超过 10​5​​ 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得 ...

  6. PAT乙级:1088 三人行 (20分)

    PAT乙级:1088 三人行 (20分) 题干 子曰:"三人行,必有我师焉.择其善者而从之,其不善者而改之." 本题给定甲.乙.丙三个人的能力值关系为:甲的能力值确定是 2 位正整 ...

  7. PAT乙级:1064 朋友数 (20分)

    PAT乙级:1064 朋友数 (20分) 题干 如果两个整数各位数字的和是一样的,则被称为是"朋友数",而那个公共的和就是它们的"朋友证号".例如 123 和 ...

  8. PAT乙级 1013. 数素数 (20)

    1013. 数素数 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 令Pi表示第i个素数.现任给两个正整 ...

  9. PAT 1057. 数零壹(20)

    给定一串长度不超过105的字符串,本题要求你将其中所有英文字母的序号(字母a-z对应序号1-26,不分大小写)相加,得到整数N,然后再分析一下N的二进制表示中有多少0.多少1.例如给定字符串“PAT ...

随机推荐

  1. 如何使用perf进行程序分析

    1.安装. sudo apt-get install linux-tools 如果提示没有可安装候选.请输入: sudo apt-get install linux-perf-version 其中ve ...

  2. vue keep-alive从列表页进入详情页,再返回列表页时,还是之前滚动的位置

    //router.js { path: '/oppo-music', component: () => import('@/views/OppoMusic.vue'), meta: { titl ...

  3. 【题解】Luogu P1011 车站

    题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...

  4. 什么是OSI的第7层

    1.什么是Internet的第7层? 第7层是指Internet的7层OSI模型的顶层,也称为"应用程序层".这是数据处理的顶层,位于用户与之交互的软件应用程序的表面之下或幕后.例 ...

  5. Vue前端基础学习

    vue-cli vue-cli 官方提供的一个脚手架(预先定义好的目录结构及基础代码,咱们在创建Maven项目的时可以选择创建一个骨架项目,这个骨架项目就是脚手架),用于快速生成一个vue项目模板 主 ...

  6. css文字动画(自动换文字)

    html: <div class="content"> <div class="content__container"> <p c ...

  7. [心得]安装MongoDB

    1. 安装 (1) 其他默认 (2) 创建文件 在 E:\DevTools\MongoDB\Server\3.4 1   1 E:\DevTools\MongoDB\Server\3.4 下创建dat ...

  8. php安裝7.3版本

    CentOS 安装 EPEL 源: yum install epel-release 安装 REMI 源: CentOS 7: yum install http://rpms.remirepo.net ...

  9. php 错误处理及实现

    1.php的错误,警告,异常处理如何实现,那些函数用于处理对应的错误 php 异常提示分为三类 error/warning/notice   错误补充:   Fatal Error:致命错误(脚本终止 ...

  10. JS秒表倒计时器 (转)

    <html> <body> <span>倒计时30分钟:</span><span id="clock">00:30:00 ...