PAT (Basic Level) Practice (中文)C++题
xu_haiao
这个作者很懒,什么都没留下…
展开
-
【PAT (Basic Level) Practice (中文)】1071 小赌怡情 (15 分)题解
常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。 注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。 输入格式: 输入在第一行给出 2 个正整数 T 和 K(≤100),分别是系统在初始状态下赠送给玩家的筹码数、以及需要处理的游戏次数。随后 K 行,每行对应一次游戏,顺序给出 4.原创 2021-12-15 10:23:53 · 71 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1092 最好吃的月饼 (20 分)题解
月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。 若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。 输入格式: 输入首先给出两个正整数N(≤1000)和M(≤100),分别为月饼的种类数(于是默认月饼种类从 1 到N编号)和参与统计的城市数量。 接下来M行,每行给出N个非负整数(均不超过 1 百万),其中第i个整数为第i种月饼的销量(块)。数...原创 2021-12-14 22:26:30 · 134 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1063 计算谱半径 (20 分)题解
在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的n个复数空间的特征值 {a1+b1i,⋯,an+bni},它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。 现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。 输入格式: 输入第一行给出正整数 N(≤10 000)是输入的特征值的个数。随后 N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过 1000 的整数。 输出格式: 在一行中...原创 2021-11-22 22:59:18 · 123 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1050 螺旋矩阵 (25 分)题解
本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m×n等于N;m≥n;且m−n取所有可能值中的最小值。 输入格式: 输入在第 1 行中给出一个正整数N,第 2 行给出N个待填充的正整数。所有数字不超过104,相邻数字以空格分隔。 输出格式: 输出螺旋矩阵。每行n个数字,共m行。相邻数字以 1 个空格分隔,行末不得有多余空格。 输入样例: 1...原创 2021-10-25 00:00:27 · 342 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1086 就不告诉你 (15 分)题解
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。 输入格式: 输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。 输出格式: 在一行中倒着输出 A 和 B 的乘积。 输入样例: 5 7 结尾无空行 输出样例: 53 结尾无空行 #include <iostream> using namespace std; int main()原创 2021-10-06 15:38:45 · 418 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1087 有多少不同的值 (20 分)题解
当自然数n依次取 1、2、3、……、N时,算式⌊n/2⌋+⌊n/3⌋+⌊n/5⌋有多少个不同的值?(注:⌊x⌋为取整函数,表示不超过x的最大自然数,即x的整数部分。) 输入格式: 输入给出一个正整数N(2≤N≤104)。 输出格式: 在一行中输出题面中算式取到的不同值的个数。 输入样例: 2017 结尾无空行 输出样例: 1480 结尾无空行 #include <iostream> using namespace std; int main() ...原创 2021-10-06 13:44:19 · 49 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1083 是否存在相等的差 (20 分)题解
给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差? 输入格式: 输入第一行给出一个正整数 N(2≤N≤10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。 输出格式: 按照“差值 重复次数”的格式从大到小输出重复的差值及其重复的次数,每行输出一个结果。 输入样例: 8 3 5 8 6 2 1...原创 2021-10-05 15:00:19 · 97 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1082 射击比赛 (20 分)题解
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。 输入格式: 输入在第一行中给出一个正整数 N(≤10 000)。随后 N 行,每行按下列格式给出: ID x y 其中ID是运动员的编号(由 4 位数字组成);x和y是其打出的弹洞的平面坐标(x,y),均为整数,且 0≤|x|, |y|≤100。题目保证每个运动员的编号不重复,且每人只...原创 2021-10-05 14:41:03 · 70 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1077 互评成绩计算 (20 分)题解
在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为G1;老师给这个组的评分记为G2。该组得分为(G1+G2)/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。 输入格式: 输入第一行给出两个正整数N(>3)和M,分别是分组数和满分,均不超过 100。随后N行,每行给出该组得到的N...原创 2021-10-04 11:07:30 · 58 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1072 开学寄语 (20 分)题解
下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也! 本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。 输入格式: 输入第一行给出两个正整数 N(≤1000)和 M(≤6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字。随后 N 行,每行给出一位..原创 2021-09-24 17:23:31 · 70 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1056 组合数的和 (15 分)c++和python题解:
给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。 输入格式: 输入在一行中先给出 N(1<N<10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。 输出格式: 输出所有可能组合出来的2位数字的和。 输入样例: 3 2 8 5 结尾无空行 输出样例: 330 结尾无空行 pyt...原创 2021-09-22 17:11:48 · 118 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1027 打印沙漏 (20 分)题解
本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。 给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。 输入格式: 输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。 输出格式: 首先打印出由给定符号组成的最原创 2021-09-21 14:12:00 · 185 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1062 最简分数 (20 分)题解
一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。 现给定两个不相等的正分数N1/M1和N2/M2,要求你按从小到大的顺序列出它们之间分母为K的最简分数。 输入格式: 输入在一行中按N/M的格式给出两个正分数,随后是一个正整数分母K,其间以空格分隔。题目保证给出的所有整数都不超过 1000。 输出格式: 在一行中按N/M的格式列出两个给定分数之间分母为K的所有最简分数,按从小到大的顺序,其间以 1 个空格分...原创 2021-09-11 22:18:10 · 74 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1061 判断题 (15 分)题解
判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。 输入格式: 输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。 输出格式: 按照输入的顺序输出每个学生的得分,每个分数占一行。 输入样例: 3 6 2 1 3 3 4 5 0 0 1 0 1 1原创 2021-09-11 13:57:56 · 119 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1059 C语言竞赛 (20 分)题解
C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。 1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶! 2、其他人将得到巧克力。 给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。 输入格式: 输入第一行给出一个正整数N(≤104),是参赛者人数。随后N行给出最终排名,每行按排名顺序给出一位参赛者的 ID(4 位数字组成)。接下来给出...原创 2021-09-11 09:29:17 · 129 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1053 住房空置率 (20 分)题解
在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”; 若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。 现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套数的百分比。 输入格式: 输入第一行给出正整数N(≤1000),为居民区住房总套数;正实数e,即低电量阈值;正整数...原创 2021-09-06 12:07:15 · 80 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1043 输出PATest (20 分)题解
给定一个长度不超过104的、仅由英文字母构成的字符串。请将字符重新调整顺序,按PATestPATest....这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。 输入格式: 输入在一行中给出一个长度不超过104的、仅由英文字母构成的非空字符串。 输出格式: 在一行中按题目要求输出排序后的字符串。题目保证输出非空。 输入样例: redlesPayBestPATTopTeePHP...原创 2021-09-04 17:02:38 · 63 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1041 考试座位号 (15 分)题解
每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到N编号。输入...原创 2021-09-04 16:29:45 · 214 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1018 锤子剪刀布 (20 分)题解
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入格式: 输入第 1 行给出正整数N(≤105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。 输出格式: 输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以 1 ...原创 2021-08-31 22:29:46 · 464 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】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 <iostream> #in...原创 2021-08-31 00:27:17 · 129 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】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。 输入格式: 输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0<A,B<109。 输出格式: 在一行中输出PA+PB的值。 输入样例 1: 3862767 6 13530293 ...原创 2021-08-30 00:27:02 · 85 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1013 数素数 (20 分)题解
令Pi表示第i个素数。现任给两个正整数M≤N≤104,请输出PM到PN的所有素数。 输入格式: 输入在一行中给出M和N,其间以空格分隔。 输出格式: 输出从PM到PN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。 输入样例: 5 27 结尾无空行 输出样例: 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 结尾无空行 ...原创 2021-08-28 21:09:34 · 180 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1012 数字分类 (20 分)题解
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1= 能被 5 整除的数字中所有偶数的和; A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯; A3= 被 5 除后余 2 的数字的个数; A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位; A5= 被 5 除后余 4 的数字中最大数字。 输入格式: 每个输入包含 1 个测试用例。每个测试用例先给出一个不超过 1000 的正整数N,随后...原创 2021-08-28 17:36:54 · 135 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1032 挖掘机技术哪家强 (20 分)题解
为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式: 输入在第 1 行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。 输出格式: 在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。 输入样例: 6 3 65 2 80 1 100 2 70 3 40...原创 2021-08-28 12:05:57 · 151 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1011 A+B 和 C (15 分)题解
给定区间 [−231,231] 内的 3 个整数A、B和C,请判断A+B是否大于C。 输入格式: 输入第 1 行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。 输出格式: 对每组测试用例,在一行中输出Case #X: true如果A+B>C,否则输出Case #X: false,其中X是测试用例的编号(从 1 开始)。 输入样例: 4 1 2 3 2 3 4 2147483647 0...原创 2021-08-21 18:56:18 · 94 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1046 划拳 (15 分)题解
划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。 下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。 输入格式: 输入第一行先给出一个正整数N(≤100),随后N行,每行给出一轮划拳的记录,格式为: 甲喊 甲划 乙喊 乙划 其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整数(两只...原创 2021-08-21 12:41:46 · 136 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】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个整数,之间用空格分隔。 输出格式: 在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序原创 2021-08-20 20:30:17 · 97 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1038 统计同成绩学生 (20 分)题解
本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第 1 行给出不超过105的正整数N,即学生总人数。随后一行给出N名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。 输入样例: 10 60 75 90 55 75 99 82 90 75 50 3 75 90 88...原创 2021-08-16 17:22:55 · 99 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1006 换个格式输出整数 (15 分)题解
让我们用字母B来表示“百”、字母S表示“十”,用12...n来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234应该被输出为BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。 输入格式: 每个测试输入包含 1 个测试用例,给出正整数n(<1000)。 输出格式: 每个测试用例的输出占一行,用规定的格式输出n。 输入样例 1: 234 结尾无空行 输出样例 1: BBSSS1234 结尾无...原创 2021-08-14 15:45:20 · 46 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1004 成绩排名 (20 分)题解
读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名 学号 成绩 第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ... 第 n+1 行:第 n 个学生的姓名 学号 成绩 其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。 输出格式: 对.原创 2021-08-14 12:24:07 · 333 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1028 人口普查 (20 分)题解
某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式: 输入在第一行给出正整数N,取值在(0,105];随后N行,每行给出 1 个人的姓名(由不超过 5 个英文字母组成的字符串)、以及按yyyy/mm/dd(即年/月/日)格式给出的生日。题目保证最年...原创 2021-08-12 21:57:37 · 140 阅读 · 0 评论 -
【PAT (Basic Level) Practice (中文)】1001 害死人不偿命的(3n+1)猜想 (15 分)
卡拉兹(Callatz)猜想: 对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展…… 我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数n,...原创 2021-08-12 10:03:35 · 55 阅读 · 0 评论