
C++PAT乙级刷题笔记
102101141高孙炜
这个作者很懒,什么都没留下…
展开
-
C++PAT乙级刷题笔记1033 旧键盘打字
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1033 旧键盘打字 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母 [a-z,A-Z]、数字0-9、以及下...原创 2021-10-16 10:36:02 · 135 阅读 · 0 评论 -
C++PAT乙级刷题笔记 1032 挖掘机技术哪家强
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1032 挖掘机技术哪家强 (20 分)为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第 1 行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输...原创 2021-10-16 09:23:40 · 159 阅读 · 0 评论 -
C++PAT乙级刷题笔记1031 查验身份证
目录前言:题目概述:输入格式:输出格式:输入样例1:输出样例1:输入样例2:输出样例2:源代码:分析思路:前言:最近学校军训,没怎么做题,所以很久没有更这个专栏了。另一方面也是因为现在PAT乙级的题目已经显得有些简单了。我决定更到第40题结束这个专栏,一直做简单题是不会有进步的。题目概述:1031 查验身份证 (15 分)一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位.原创 2021-10-15 20:30:11 · 172 阅读 · 0 评论 -
C++PAT刷题笔记 1029旧键盘
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1029 旧键盘 (20 分)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线_(代表空格)组成。题目保证 2...原创 2021-10-06 18:48:20 · 139 阅读 · 0 评论 -
刷题笔记PAT 1028 人口普查
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:028 人口普查 (20 分)某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式:输入在第一行给出正整数N,取值...原创 2021-10-06 16:49:48 · 110 阅读 · 0 评论 -
C++PAT刷题笔记 1027打印沙漏
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1027 打印沙漏 (20 分)本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要.原创 2021-10-06 15:20:57 · 227 阅读 · 0 评论 -
C++PAT乙级刷题笔记1026 程序运行时间
题目概述1026 程序运行时间 (15 分)要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数f的运行时间,我们只要在调用f之前先调用 clock(),获得一个时钟打点数 C1;在f执行完成后再调用 clock(),获得另一...原创 2021-10-05 18:55:36 · 122 阅读 · 0 评论 -
C++PAT乙级刷题笔记 1023组个最小数
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1023 组个最小数 (20 分)给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥...原创 2021-10-04 20:56:12 · 166 阅读 · 0 评论 -
C++PAT刷题笔记1022 D进制的A+B
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1022 D进制的A+B (20 分)输入两个非负 10 进制整数A和B(≤230−1),输出A+B的D(1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数A、B和D。输出格式:输出A+B的D进制数。输入样例:123 456 8输出样例:1103源代码:#include&l...原创 2021-10-04 20:17:54 · 180 阅读 · 0 评论 -
C++PAT乙级刷题笔记 1021个位数统计
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1021 个位数统计 (15 分)给定一个k位整数N=dk−110k−1+⋯+d1101+d0(0≤di≤9,i=0,⋯,k−1,dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数...原创 2021-10-04 19:10:14 · 96 阅读 · 0 评论 -
C++PAT乙级刷题笔记 1020月饼
题目概述:1020 月饼 (25 分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72原创 2021-10-03 23:16:01 · 118 阅读 · 0 评论 -
C++PAT乙级刷题笔记019数字黑洞
目录题目概述输入格式:输出格式:输入样例 1:输出样例 1:输入样例 2:输出样例 2:源代码:分析思路:题目概述019 数字黑洞 (20 分)给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7...原创 2021-10-03 19:55:08 · 161 阅读 · 0 评论 -
C++PTA乙级刷题笔记1018 锤子剪刀布
目录题目概述:输入格式:输出格式:输入样例:输出样例:源代码:分析思路:题目概述:1018 锤子剪刀布 (20 分)大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第 1 行给出正整数N(≤105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“...原创 2021-10-02 14:22:47 · 492 阅读 · 0 评论 -
C++PAT乙级刷题笔记1017 A除以B
题目描述:1017 A除以B (20 分)本题要求计算A/B,其中A是不超过 1000 位的正整数,B是 1 位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。输入格式:输入在一行中依次给出A和B,中间以 1 空格分隔。输出格式:在一行中依次输出Q和R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:17636684150141093474 3源代码:#include<...原创 2021-10-02 10:22:42 · 230 阅读 · 0 评论 -
PTA刷题笔记1016 部分A+B
目录题目概述输入格式:输出格式:输入样例 1:输出样例 1:输入样例 2:输出样例 2:源代码:分析思路:题目概述1016 部分A+B (15 分)正整数A的“DA(为 1 位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A=3862767,DA=6,则A的“6 部分”PA是 66,因为A中有 2 个 6。现给定A、DA、B、DB,请编写程序计算PA+PB。输入格式:...原创 2021-10-02 09:43:26 · 226 阅读 · 0 评论 -
PTA乙级刷题笔记1015 德才论
题目描述:1015 德才论 (25 分)宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤105),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取;H(<100),为优先录取线——德分..原创 2021-10-02 09:18:28 · 135 阅读 · 0 评论 -
C++PAT刷题笔记1013 数素数
目录题目概述:输入格式:输入样例:输出样例:分析思路:源代码:题目概述:1013 数素数 (20 分)令Pi表示第i个素数。现任给两个正整数M≤N≤104,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出从PM到PN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31...原创 2021-09-30 09:07:47 · 105 阅读 · 0 评论 -
C++PAT刷题笔记1012 数字分类
目录写在前头:这里笔者没拿满分,有一个点没过只拿到19分。题目概述:输入格式:输出格式:输入样例 1:输出样例 1:输入样例 2:输出样例 2:源代码:分析思路:学习心得:写在前头:这里笔者没拿满分,有一个点没过只拿到19分。这题乍看是个大水题,但是真正投入去做还是能复习很多基础的。题目概述:012 数字分类 (20 分)给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的..原创 2021-09-26 14:41:58 · 139 阅读 · 0 评论 -
C++PAT刷题笔记1011 A+B和C
水题,过,记得类型用好就行。#include<iostream>using namespace std;int a[10];//数组标记true or flaseint main(){ int N; long long A, B, C; cin >> N; for (int i = 1; i <= N; ++i) { cin >> A >> B >> C; if (A + B > C) a[i] =原创 2021-09-26 09:22:46 · 128 阅读 · 0 评论 -
C++PAT刷题笔记1010 一元多项式求导
大水题一道,不多说了。源代码:#include <iostream>using namespace std;int main(){ int a, b, s= 0; while (cin >> a >> b) { if (b) { if (s == 1) cout << " "; cout << a * b << " " << b - 1; s = 1; } } if (!s原创 2021-09-26 09:06:38 · 95 阅读 · 0 评论 -
C++PAT刷题笔记刷题笔记1009 说反话
目录题目概述:输入格式:输出格式:输入样例:输出样例:分析思路:源代码:题目概述:1009 说反话 (20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。.原创 2021-09-25 20:20:24 · 105 阅读 · 0 评论 -
C++PAT刷题笔记刷题笔记1008 数组循环右移问题
题目概述:1008 数组元素循环右移问题 (20 分)一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。输出格式:原创 2021-09-25 20:17:01 · 130 阅读 · 0 评论 -
C++PAT乙级刷题笔记1007 素数对猜想
目录题目概述:输入格式:输出格式:输入样例:输出样例:分析过程第一次写的代码第二次写的代码:总结:题目概述:1007 素数对猜想 (20 分)让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式..原创 2021-09-23 22:17:17 · 122 阅读 · 0 评论 -
C++PAT乙级刷题笔记PTA1006 换个格式输出整数
题目描述1006 换个格式输出整数 (15 分)让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例 1:234输出样...原创 2021-09-23 18:43:40 · 183 阅读 · 0 评论 -
刷题笔记(C++实现)PTA1005 继续3n+1猜想
目录题目描述和要求:输入格式:输出格式:输入样例:输出样例:做题过程:源代码:不足之处:晚安,刷题人们。题目描述和要求:1005 继续(3n+1)猜想 (25 分)卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就...原创 2021-09-23 00:19:40 · 311 阅读 · 0 评论 -
刷题笔记PTA1004 成绩排名
1004 成绩排名 (20 分)读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生.原创 2021-09-21 21:55:05 · 378 阅读 · 0 评论 -
刷题笔记 PAT1002写出这个数(C++)
#include<iostream>#include<vector>#include<string>using namespace std;int main(){ string numbers; cin >> numbers;//把所有位上的数字都储存在字符串里头 unsigned int sum = 0; for (auto a : numbers) sum = a + sum - 48;//sum计算所有位上的数字之和 //注意减.原创 2021-09-20 20:27:12 · 154 阅读 · 0 评论