【PAT乙级】题解-1057 数零壹

PAT乙级-题解(Java) 我的题解放在github仓库了(喜欢的话,记得star哈) 下面是汇总导航,如果你只想看其中某个题的话,点击题解直达。 乙级的题目每个题都是一个有趣的故事,引导你去思考解决问题的能力,不是单纯的刷题。然后只涉及数组,循环,判断,字符串等基础编程语言语法的知识,不会设计复杂的算法与数据结构。 一开始可能会有点吃力,正常,但是如果你全部刷完,leetcode上部分简单题对你来说是小case了。 甲级主要是算法与数据结构,乙级刷完了,也可刷甲级, 甲级的题目特别好,测试用例丰富 如果是急需找工作,面试的话刷lee 阅读详情

PAT :计算机程序设计能力考试:一个高校编程学习赛,内容基础,据说题目描述含糊不清,造成诸多理解错误。

第一观感是:输入输出样例极少,未给学生充分理解题目,提供更多辅助。

PAT 乙级:只涉及基础编程,最难到排序算法。适合基础语法学习阶段的同学。

问题描述

给定一串长度不超过 1 0 5 10^5 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a − z a-z a−z 对应序号 1 − 26 1-26 1−26,不分大小写)相加,得到整数 N N N,然后再分析一下 N N N 的二进制表示中有多少 0 0 0、多少 1 1 1。例如给定字符串 PAT (Basic),其字母序号之和为: 16 + 1 + 20 + 2 + 1 + 19 + 9 + 3 = 71 16+1+20+2+1+19+9+3=71 16+1+20+2+1+19+9+3=71,而 71 71 71 的二进制是 1000111 1000111 1000111,即有 3 3 3 个 0、 4 4 4 个 1。

输入格式:
输入在一行中给出长度不超过 10
5
、以回车结束的字符串。

输出格式

在一行中先后输出 0 0 0 的个数和 1 1 1 的个数,其间以空格分隔。注意:若字符串中不存在字母,则视为 N N N 不存在,也就没有 0 0 0 和 1 1 1。

输入输出样例

输入样例1

PAT (Basic)

输出样例1

3 4

样例解释:无。

题解 1

思路分析:读取并遍历字符串,统计字母之和,而后将辗转相除求二进制,统计 0、 1 的个数,并输出。

#include <iostream>
using namespace std;

int main()
{
	string s;
	getline(cin, s);

	int res = 0;
	for(auto& ch : s) {
		char upc = toupper(ch);
		if(upc >= 'A' && upc <= 'Z') {
			res += upc - 'A' + 1;
		}
	}
	
	int cnt0 = 0, cnt1 = 0;	// 统计二进制中 1 的个数
	while(res) {
		if(res % 2 == 1) cnt1 ++; 
		else cnt0 ++;
		res /= 2;
	}

	cout << cnt0 << " " << cnt1 << endl;
	return 0;
}
PAT 乙级(Basic Level) 历年所有真题汇总(2013-2018) PAT乙级历年所有真题汇总 阅读详情

相关推荐

PAT 乙级真题题解 java实现

虽然这次PAT考试的成绩并不算理想,但还是有了很多收获,特别是认识了一些很优秀的人以及他们平时怎么学习算法。 我参加的2019年冬季PAT乙级考试,这个时间PAT官网上的乙级真题有95道,我是使用java来做的(推荐使用c语言)。大部分题都是通过的,部分题目超出时间限制, 还有一部分只通过了部分用例。 以下是题目清单及我的通过情况: GitHub仓库 完全正确 1001 害死人不偿命的(3n...

wangbo818的博客 1791

PAT甲级真题1057 栈(树状数组)

栈是最基本的数据结构之一,它基于后进先出(LIFO)的原理。 基本操作包括“入栈”(将元素插入到顶部位置)和“出栈”(删除顶部元素)。 现在,你需要实现一个栈,该栈要具有一个额外的操作:PeekMedian-返回栈中所有元素的中值。 对于 N 个元素,如果 N 为偶数,则中值定义从小到大第 N/2 个元素;如果 N 为奇数,则中值定义为从小到大第 N+1/2个元素。 输入格式 第一行包含整数 N,表示命令数。 接下来 N 行,每行包含以下三种命令中的一种: Push key Pop PeekMedian 其

qq_43738331的博客 463

「PAT乙级真题解析」Basic Level 1057 数零壹 (问题分析+完整步骤+伪代码描述+提交通过代码)

题设给定了"数零壹"的具体步骤, 所以这是一道模拟题, 主要是明确题目要求的步骤, 翻译成代码即可. 其中涉及: - 英文字母的判断 - 英文字母在字母表中的序号获取 - 各个数位的数字求和 - 二进制转换 - 二进制数的各个数位数字的统计

过美好生活,做高效程序员 4646

【PAT乙级】1057 数零壹

问题描述 给定一串长度不超过 10510^5105 的字符串,本题要求你将其中所有英文字母的序号(字母 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。 输入格式 输入在一行中给出长度不超过 10510^5105 、以回车结束的字符串。 输出格式 在一行中先后输出 0 的个

陌巷旧雨的博客 207

模电学习笔记(十二)——跨阻放大器

模电学习笔记(十二) 跨阻放大器 跨组运算放大器是将电流信号转换成为电压信号,电流到电压增益基于反馈电阻。 设计目标: 输入 输出 带宽 电源 0A 100uA 0V 7V 20kHz 15V -15V 1.计算R1的值(增益电阻器) 2.计算C1的值满足电路带宽 ...

tang11081023的博客 2万+

【微知】关于GB200 NVL72服务器的一些信息?(36CPU72GPU;LPDDR5X 17T;HBM3e 13.5T;5代NVlink 1.8TB; 720P算力FP8;120Kw)

本文仅根据官网介绍分析,存在纰漏仅供参考。

技术札记 5388

PAT——1057 数零壹

给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串,其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。

Jamaple的博客 211

智能车实战——极速越野组GPS与惯导融合定位导航全解析

本文深入解析了智能车极速越野组中GPS与惯导模块的融合定位导航技术。通过对比GPS的全局定位与惯导的高频姿态感知,详细阐述了如何利用MM32SPN27主控,将两者数据融合以实现精准、实时的车辆控制。内容涵盖硬件选型、软件数据处理、PID控制及系统调试等实战环节,为智能车开发者提供了一套完整的解决方案。

pz8901234的博客 1204

1057 数零壹

给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串,其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。...

daybreak_alonely的博客 123

CS231n+assignment2(一)

cs231n作业二详解+代码

qq_56551150的博客 2411

VisionMaster 4.2.0安装

按照顺序安装。

XuXing_java的专栏 3792

1057 数零壹 (20 分)

1057数零壹(20分) 给定一串长度不超过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 个...

韩旭051的博客 1649

WIFI信号状态信息 CSI 特征提取篇之活动片段提取(五)

本环节是特征提取环节,起承上启下的作用:对上,应着数据处理完毕的信号,但是还不能直接进行分析,因为此时信号片段过长,对于活动识别而言,存在非许多目标片段(例如失败不规范的动作、休息间歇等);对下,具体采取何种活动片段提取策略,需要配合后续采取的活动识别算法进行(深度学习/机器学习,CNN/RNN/LSTM等等),不同的算法适配不同的数据形式,例如CNN一般用于识图,不需要关注时间顺序,LSTM则要求保留时间关系等等,所以本博客后续仅介绍几种分类思路。

Silver_777的博客 4540

JavaScript PAT乙级题解 1057 数零壹

JavaScript PAT乙级题解 1057 数零壹

weixin_47925230的博客 592

使用 ABAP Development Tool 登录 SAP BTP ABAP 环境时,遇到弹出框应该怎么办?

但在实际环境里,隐私模式、第三方 Cookie 禁止、跨站追踪限制、缓存代理误命中、混合内容拦截等因素,都可能让这条跳转链路被打断。等),浏览器会弹出系统原生登录框,请求用户输入账号和口令或做集成认证。只要它们在响应头里出现,浏览器就会理直气壮地弹框,这是协议层的强约定。,最终弹出原生登录框。前端与网关领域有个通用的经验规则:如果你看到了原生登录框,而期望的是带样式的。环境里的登录方式表述为基于浏览器的前端认证,也就是这类重定向式的交互。环境的具体落地,拆出几类常见诱因与排障路径,并穿插真实世界的案例。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 369

2024年数字IC秋招-华为机试-数字芯片-实习笔试题

笔试题目:40个选择题A.综合时不同文件列表内的宏定义仅在本列表生效B.宏定义会覆盖,不需要单独undefC.仿真时出现宏定义冲突以最后一次值为准D.宏定义最好在各文件中随用随定义A.4/9B.4/6C.01D.0/6。

qq_42135020的博客 2892

1057 数零壹 (20分)(Java 题解)

1057 数零壹 (20分) 原题链接:传送门 一、题目: 二、解析: AC代码: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; /** * 1057 数零壹 (20分) * * @author...

长生的梦呓 435

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

PAT乙级题目索引(题目+解析+AC代码)

题目信息 分值 PAT 乙级 1001 害死人不偿命的(3n+1)猜想 15 PAT 乙级 1002 写出这个数 20 PAT 乙级 1003 我要通过! 20 PAT 乙级 1004 成绩排名 20 PAT 乙级 1005继续(3n+1)猜想 25 PAT 乙级 1006 换个格式输出整数 15 PAT 乙级 1007 素数...

漫浸天空的雨色的备忘录~ 3万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【最新合集】PAT乙级最优题解(题解+解析+代码)

乙级题目+详细题解,整理不易,喜欢的请点个赞哦~ pat乙级题解目录 编号 标题 题解 分类 1001 害死人不偿命的(3n+1)猜想 (15分) C++ 简单模拟 1002 写出这个数 (20分) C++ 常量数组 1003 我要通过! (20分) 待填坑 待填坑 1004 成绩排名 (20分) C++ 结构体 1005 继续(3n+1)猜想 (25分) C++ 打表 1006 换个格式输出整数 (15分) C语言 简单模拟 ...

weixin_43899069的博客 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【JAVA】PAT 乙级 1057 数零壹

【JAVA】PAT 乙级 1057 数零壹 题目链接 给定一串长度不超过 10​5​​ 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即...

TAL_DARIM的博客 299

PAT乙级-【题目+解答】汇总(100%原创/100%完成)

PAT乙级-【题目+解答】汇总 PAT乙级-AC全解汇总 PAT乙级解答集合

卷子的博客 4万+

PAT 乙级 1057 数零壹 (20分)

PAT 乙级 1057 数零壹 本人原创代码如下,这题常规题,坑点边界点网上也有分析就是sum为0时,必须输出 0 0 而不能输出1 0 第3个点(起始为0)就是卡这个坑点,坑点价值1分,其实也不会影响太大! #include <iostream> #include <algorithm> #include<cmath> #include <stdlib.h> #include <string.h> using namespace std; in

一棵小白菜的博客 304

PAT 乙级 1057 数零壹

PAT 乙级 1057 数零壹 题目 输入样例: PAT (Basic) 输出样例: 3 4 **分析:**先将读入的字符串逐个进行字符处理,得到和n,再将n转换为二进制,数出其中0 1 的个数。 源码: #include<stdio.h> #include<string.h> int main() char shuzu[100200]; gets(shuzu);//?? int n = 0; //

a123456chj的博客 237

【PAT】题解集(乙级)

题解集 - PAT (Basic Level) Practice (中文) - 乙级 一、题集 题目 题解传送门 1001 害死人不偿命的(3n+1)猜想 (15分) 传送门 1002 写出这个数 (20分) 传送门 1003 我要通过! (20分) 传送门 1004 成绩排名 (20分) 传送门 1005 继续(3n+1)猜想 (25分) 传送门 1006 ...

长生的梦呓 1794

PAT乙级 1057 数零壹

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

polarours的博客 227
上一篇: 【PAT乙级】题解-1087 有多少不同的值
下一篇: 【PAT乙级】题解-1056 组合数的和
老坛算粉
博客等级 码龄12年 708粉丝 73原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值