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

#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int maxn = 100010;
char str[maxn];int getSum(char s[]){int len = strlen(s);int sum = 0;for(int i = 0; i < len; i++){if(s[i] >= 'a' && s[i] <= 'z') sum += s[i] - 'a' + 1;if(s[i] >= 'A' && s[i] <= 'Z') sum += s[i] - 'A' + 1;}return sum;
}void count(int n){int cnt1 = 0,cnt0 = 0;while(n)  //如果用do while循环则会出现第三个测试点不过。存疑
    {if(n%2==0)cnt0++;else cnt1++;n/=2;}printf("%d %d",cnt0,cnt1);
}int main(){//fgets(str,maxn,stdin);//getline(cin,str);
    cin.getline(str,maxn); int sum = getSum(str);count(sum);return 0;
}

//网上看到的,这个输入模式我比较陌生。侵删
#include<cstdio>
int main(){char ch;int sum = 0;while((ch = getchar()) != '\n'){if(ch >= 'a' && ch <= 'z') sum += ch - 'a' + 1;if(ch >= 'A' && ch <= 'Z') sum += ch - 'A' + 1;}int zero = 0,one = 0;while(sum){if(sum % 2 == 0) zero++;else one++;}printf("%d %d",zero,one);return 0;
}

转载于:https://www.cnblogs.com/wanghao-boke/p/10395224.html

1057 数零壹 (20 分)相关推荐

  1. C++学习之路 | PTA乙级—— 1057 数零壹 (20 分)(精简)

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

  2. 【解析】1057 数零壹 (20分)(进制转换)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定一串长度不超过 10^5的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分 ...

  3. 【PAT乙级】1057 数零壹 (20 分)

    题目地址 #include<cstdio> #include<iostream> #include<string> #include<cstring> ...

  4. 1057. 数零壹(20)-PAT乙级真题

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

  5. 1057. 数零壹(20)

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

  6. PAT 1057. 数零壹

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

  7. C++学习之路 | PTA乙级—— 1013 数素数 (20分)(精简)

    1013 数素数 (20分) 令 P ​i ​​ 表示第 i 个素数.现任给两个正整数 M≤N≤10 ​4 ​​ ,请输出 P ​M ​​ 到 P ​N ​​ 的所有素数. 输入格式: 输入在一行中给 ...

  8. 实验4-1-12 黑洞数 (20 分)

    实验4-1-12 黑洞数 (20 分) 黑洞数也称为陷阱数,又称"Kaprekar问题",是一类具有奇特转换特性的数. 任何一个各位数字不全相同的三位数,经有限次"重排求 ...

  9. 7-10 黑洞数(20 分)

    软件学院第十二次训练 240 分 编程题共 12 小题,共计 240 分 剩余时间: 818:53:44 剩余时间: 818:53:44 编程题 7-10 黑洞数(20 分) 黑洞数也称为陷阱数,又称 ...

最新文章

  1. 关于Tomcat上请求的编解码问题
  2. java编程中的断言工具类(org.springframework.util.Assert)
  3. 蓝桥杯java第八届第九题--分巧克力
  4. ORACLE查询闪回
  5. 容器源码分析之Stack(四)
  6. nginx对websocket的支持及uliweb chatroom的测试
  7. 真正的高手,都有增长思维!(深度好文)
  8. P1129-[ZJOI2007]矩阵游戏【最大匹配】
  9. JAVA运算符和优先级
  10. iBatis for Net 代码生成器(CodeHelper)附下载地址(已经升级为V 1.1)
  11. 设计数据密集型应用-C5-主从架构及同步延迟问题
  12. 声网:疫情期间日均通话分钟数较日常增长近一倍 达15.6亿分钟
  13. 【渝粤题库】陕西师范大学800006 世界地理
  14. 创建Docker私有仓库
  15. Perl文件内容对比
  16. C#反射获取 所有字段 及 私有字段
  17. 批量语音转文字python
  18. JavaScript级联链表
  19. 传统产业要向数字化转型发力
  20. keil c51如何添加STC芯片的固件库文件

热门文章

  1. 怎么用代码制作WordPress的归档页面
  2. 第一章导言的笔记与思考
  3. 关于easyui的一些小知识点(1)
  4. LeetCode: Merge k Sorted Lists
  5. dnf机器人猜数字奖励_DNF:周年庆策划啪啪打脸,工作人员也出错误,难道又是临时工的锅?...
  6. java字符集编码是,java字符集与编码有关问题
  7. 建模步骤_古建设计 | sketchup建模步骤教程(简易入门版)
  8. Opencv——DFT变换(实现两个Mat的卷积以及显示Mat的频域图像)
  9. AAS的完整形式是什么?
  10. AMUL的完整形式是什么?