![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT乙级
rf4csdm
;p
展开
-
PAT乙级-B1034 有理数四则运算(20)
本题要求编写程序,计算 2 个有理数的和、差、积、商。原创 2022-10-21 15:46:16 · 124 阅读 · 0 评论 -
PAT乙级-B1033 旧键盘打字(20)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?原创 2022-10-19 16:27:45 · 132 阅读 · 0 评论 -
PAT乙级-B1032 挖掘机技术哪家强(20)
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。原创 2022-10-19 15:18:16 · 106 阅读 · 0 评论 -
PAT乙级-B1031 查验身份证(15)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。原创 2022-10-19 15:07:14 · 168 阅读 · 0 评论 -
PAT乙级-B1030 完美数列(25)【二分法】
给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。原创 2022-10-18 21:30:17 · 69 阅读 · 0 评论 -
PAT乙级-B1030 完美数列(25)(two points)
给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。原创 2022-10-18 20:12:47 · 63 阅读 · 0 评论 -
PAT乙级-B1029 旧键盘(20)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。原创 2022-08-07 09:13:17 · 97 阅读 · 1 评论 -
PAT乙级-B1028 人口普查(20)
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。...原创 2022-08-06 21:52:13 · 68 阅读 · 0 评论 -
PAT乙级-B1027 打印沙漏(20)
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。首先打印出由给定符号组成的最大的沙漏形状,最后在一行中输出剩下没用掉的符号数。...原创 2022-08-06 21:10:07 · 89 阅读 · 0 评论 -
PAT乙级-B1026 程序运行时间(15)
要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数 C1;在 f 执行完成后再调用 clock(),获得另一个时钟打点数 C2;...原创 2022-08-06 16:38:36 · 60 阅读 · 0 评论 -
PAT乙级-B1025 反转链表(25)
给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 3→2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。...原创 2022-08-06 16:20:42 · 71 阅读 · 0 评论 -
PAT乙级-B1024 科学计数法(20)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。...原创 2022-08-06 04:26:37 · 55 阅读 · 0 评论 -
PAT乙级-B1023 组个最小数(20)
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。...原创 2022-08-06 02:38:39 · 49 阅读 · 0 评论 -
PAT乙级-B1022 D进制的A+B(20)
输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1原创 2022-08-06 02:19:30 · 56 阅读 · 0 评论 -
PAT乙级-B1021 个位数统计(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 位的正整数 N。对 N 中每一种不同的个位数字,以 的格式在一行中输出该位数字 及其在 N 中出现的次数 。要求按 的升序输出。...原创 2022-08-03 17:21:44 · 155 阅读 · 0 评论 -
PAT乙级-B1020 月饼(25)
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2 = 94.5(亿元)。...原创 2022-08-03 17:09:23 · 62 阅读 · 0 评论 -
PAT乙级-B1019 数字黑洞(20)
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到现给定任意 4 位正整数,请编写程序演示到达黑洞的过程。...原创 2022-08-03 14:38:00 · 78 阅读 · 0 评论 -
PAT乙级-B1018 锤子剪刀布(20)
大家应该都会玩“锤子剪刀布”的游戏两人同时给出手势,胜负规则如图所示现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。原创 2022-08-03 11:10:29 · 73 阅读 · 0 评论 -
PAT乙级-B1017 A除以B(20)
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A=B×Q+R成立。原创 2022-07-31 22:36:21 · 85 阅读 · 0 评论 -
PAT乙级-B1016 部分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。...原创 2022-07-31 16:43:17 · 91 阅读 · 0 评论 -
PAT乙级-B1015 德才论(25)
宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。...原创 2022-07-31 16:22:29 · 45 阅读 · 0 评论 -
PAT乙级-B1014 福尔摩斯的约会(20)
大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四1404,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母D,代表星期四;第2对相同的字符是E,那是第5个英文字母,代表一天里的第14个钟头(于是一天的0点到23点由数字0到9、以及大写字母A到N表示);后面两字符串第1对相同的英文字母s出现在第4个位置(从0开始计数)上,代表第4分钟。现给定两对字符串,请帮助福尔摩斯解码得到约会的时间。...原创 2022-07-31 15:37:43 · 44 阅读 · 0 评论 -
PAT乙级-B1013 数素数(20)
令Pi表示第i个素数。现任给两个正整数M≤N≤104,请输出PM到PN的所有素数。原创 2022-07-31 13:35:10 · 57 阅读 · 0 评论 -
PAT乙级-B1012 数字分类(20)
每个输入包含1个测试用例。每个测试用例先给出一个不超过1000的正整数N,随后给出N个不超过1000的待分类的正整数。对给定的N个正整数,按题目要求计算A1~A5并在一行中顺序输出。数字间以空格分隔,但行末不得有多余空格。若分类之后某一类不存在数字,则在相应位置输出。...原创 2022-07-31 10:28:29 · 63 阅读 · 0 评论 -
PAT乙级-B1011 A+B 和 C(15)
给定区间[−231,231]内的3个整数A、B和C,请判断A+B是否大于C。原创 2022-07-30 16:07:55 · 123 阅读 · 0 评论 -
PAT乙级-B1010 一元多项式求导(25)
设计函数求一元多项式的导数。(注xn(n为整数)的一阶导数为nxn−1。)原创 2022-07-30 15:24:05 · 60 阅读 · 0 评论 -
PAT乙级-B1009 说反话(20)
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。原创 2022-07-30 14:01:15 · 92 阅读 · 0 评论 -
PAT乙级-B1008 数组元素循环右移问题(20)
一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?...原创 2022-07-30 13:27:32 · 39 阅读 · 0 评论 -
PAT乙级-B1007 素数对猜想(20)
让我们定义dn为dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(原创 2022-07-18 03:09:20 · 58 阅读 · 0 评论 -
PAT乙级-B1006 换个格式输出整数(15)
让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(原创 2022-07-18 02:36:32 · 179 阅读 · 0 评论 -
PAT乙级-B1005 继续(3n+1)猜想(25)【数组】
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称5、8、4、2是被3“覆盖”的数。...原创 2022-07-17 12:23:18 · 47 阅读 · 0 评论 -
PAT乙级-B1005 继续(3n+1)猜想分数(25)【map解决】
卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数 n 为“关键数”,如果 n 不能被数列中的其他数字所覆盖。原创 2022-07-17 12:06:02 · 52 阅读 · 0 评论 -
PAT乙级 - B1004 成绩排名(20)
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。每个测试输入包含 1 个测试用例,格式为其中和均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。输出样例:...原创 2022-07-07 21:05:57 · 64 阅读 · 0 评论 -
PAT乙级 - B1003 我要通过!(20)
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:现在就请你为 PAT 写一个自动裁判程序,判定哪些字符串是可以获得“答案正确”的。每个测试输入包含 1 个测试用例。第 1 行给出一个正整数 n (≤10),是需要检测的字符串个数。接下来每个字符串占一行,字符串长度不超过 100,且不包含空格。每个字符串的检测结果占一行,如果该字符串可以获得“答案正确”,则输出原创 2022-07-07 20:47:05 · 51 阅读 · 0 评论 -
PAT乙级 - B1013数素数
思路:1、运用埃氏筛法;2、利用cnt计数,记录当前的素数是第几个。当cnt >= M时,即可输出;当 cnt >= N时即可退出;注意:当cnt == N时也需要输出回车#include<iostream>#include<algorithm>using namespace std;#define maxn 1000001int cnt, M, N;bool p[maxn]; //表示是否为素数,默认所有数均为素数 void P......原创 2022-05-15 16:32:31 · 102 阅读 · 0 评论 -
PAT乙级-B1019数字黑洞
思路:1、利用string录入数据,sort()即可完成从小到大排序;reverse()即可从大到小。2、stoi()转化为整型。ps:要注意给定的数是(0,10000)即可能只给1~4位的数,如1、12、123、1234,四种情况。每次都要填充成4位数字,否则出错。#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){...原创 2022-05-08 23:16:16 · 203 阅读 · 0 评论 -
PAT乙级-B1040有几个PAT
思路:1、对于遍历到的每个‘A’求其左边的P的个数与右边T的个数的乘积;2、为完成“左边P的个数”,从左向右遍历,用leftP[]存储字符串中,当前位的左边P的个数。【图片】3、为记录“右边T的个数”,从后向前遍历,用cnt记录。【图片】...原创 2022-05-07 22:41:34 · 223 阅读 · 0 评论 -
PAT乙级-B1023 组个最小数 (20 分)
1023 组个最小数 (20 分)给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。原创 2022-04-17 20:39:09 · 162 阅读 · 0 评论 -
PAT乙级-B1020月饼(25分)
1020 月饼 (25 分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们最大收益策略应该是卖出全部 15 万吨第 2 种月饼、以及 5 万吨第 3 种月饼,获得 72 + 45/2原创 2022-04-16 22:17:33 · 65 阅读 · 0 评论 -
PAT乙级-B1009 说反话 (20 分)
1009 说反话 (20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。样例:">样例:">样例:">样例:">样例:">样例:">样例:">样例:"&g原创 2022-04-16 22:04:49 · 101 阅读 · 0 评论