![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT-B
不明真相的板蓝根
噼里啪啦噼里啪啦
展开
-
PAT-B 1062. 最简分数
题目内容: 一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。 现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母为K的最简分数。 输入格式: 输入在一行中按N/M的格式给出两个正分数,随后是一个正整数分母K,其间以空格分隔。题目保证给出的所有整数都不超过1000。原创 2017-01-06 13:58:19 · 1359 阅读 · 0 评论 -
PAT-B 1046. 划拳
题目内容: 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。 下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。 输入格式: 输入第一行先给出一个正整数N(<=100)原创 2016-06-17 19:32:44 · 311 阅读 · 0 评论 -
PAT-B 1020. 月饼
题目内容: 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨原创 2016-04-28 22:06:36 · 1232 阅读 · 0 评论 -
PAT-B 1040. 有几个PAT
题目内容: 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过10510^5,只包含P、A、T三种字母。 输出格式: 在一行中输出给定字符原创 2016-05-06 23:18:29 · 450 阅读 · 0 评论 -
PAT-B 1041. 考试座位号
题目内容: 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。 输入格式: 输入第一行给出一个正整数N(<=1000)原创 2016-05-06 23:50:55 · 460 阅读 · 0 评论 -
PAT-B 1039. 到底买不买
题目内容: 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。 为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包原创 2016-05-06 22:13:03 · 854 阅读 · 0 评论 -
PAT-B 1038. 统计同成绩学生
题目内容: 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第1行给出不超过10510^5的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以原创 2016-05-06 22:02:28 · 342 阅读 · 0 评论 -
PAT-B 1037. 在霍格沃茨找零钱
题目内容: 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。 输入格式: 输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”原创 2016-05-06 21:57:34 · 394 阅读 · 0 评论 -
PAT-B 1036. 跟奥巴马一起编程
题目内容: 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧! 输入格式: 输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。 输出格式:原创 2016-05-06 21:45:50 · 343 阅读 · 0 评论 -
PAT-B 1035. 插入与归并
题目内容: 根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。 归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。 现给定原始序列和由某排序算法原创 2016-05-06 13:44:38 · 841 阅读 · 0 评论 -
PAT-B 1034. 有理数四则运算
题目内容: 本题要求编写程序,计算2个有理数的和、差、积、商。 输入格式: 输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。 输出格式: 分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和、差、积、商。注意输出的每个有理数必须原创 2016-05-06 13:25:16 · 3666 阅读 · 2 评论 -
PAT-B 1033. 旧键盘打字
题目内容: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.原创 2016-05-06 13:08:06 · 1489 阅读 · 0 评论 -
PAT-B 1032. 挖掘机技术哪家强
题目内容: 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式: 输入在第1行给出不超过10510^5的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。 输出格式: 在一行中给出总得分原创 2016-05-06 13:00:52 · 1166 阅读 · 0 评论 -
PAT-B 1031. 查验身份证
题目内容: 一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:0 1 2 3 4 5 6 7 8 9 10M:1 0 X 9 8 7 6 5 4 3原创 2016-05-06 12:55:18 · 1218 阅读 · 0 评论 -
PAT-B 1048. 数字加密
题目内容: 本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12;对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。这里令个位为第1位。 输入格式: 输入在一行中依次给出A和B,均为不超过100位的正整数,其间以空原创 2016-06-17 23:06:57 · 1397 阅读 · 0 评论 -
PAT-B 1050. 螺旋矩阵
题目内容: 本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数。所有数字不超过10410^4,相邻数字以空格分隔。 输出格式原创 2016-06-18 00:35:43 · 519 阅读 · 0 评论 -
PAT-B 1061. 判断题
题目内容: 判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。 输入格式: 输入在第一行给出两个不超过100的正整数N和M,分别是学生人数和判断题数量。第二行给出M个不超过5的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0代表“非”,1代表“是”。随后N行,每行给出一个学生的解答。数字间均以空格分隔。 输出格式:原创 2017-01-06 13:45:24 · 482 阅读 · 0 评论 -
PAT-B 1060. 爱丁顿数
题目内容: 英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。 现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(<=N)。 输入格式: 输入第一行给出一个正整数N(<= 10510^5),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。原创 2016-09-12 16:16:28 · 2720 阅读 · 1 评论 -
PAT-B 1059. C语言竞赛
题目内容: C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0. 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1. 排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!2. 其他人将得到巧克力。 给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。 输入格式: 输入原创 2016-09-12 15:58:27 · 642 阅读 · 0 评论 -
PAT-B 1058. 选择题
题目内容: 批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。 输入格式: 输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多选题的个数。随后M行,每行顺次给出一道题的满分值(不超过5的正整数)、选项个数(不少于2且不超过5的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意每题的选项原创 2016-09-12 15:46:47 · 525 阅读 · 0 评论 -
PAT-B 1057. 数零壹
题目内容: 给定一串长度不超过10510^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。 输入格式: 输入在一行中原创 2016-09-12 15:32:08 · 511 阅读 · 0 评论 -
PAT-B 1056. 组合数的和
题目内容: 给定N个非0的个位数字,用其中任意2个数字都可以组合成1个2位的数字。要求所有可能组合出来的2位数字的和。例如给定2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。 输入格式: 输入在一行中先给出N(1 < N < 10),随后是N个不同的非0个位数字。数字间以空格分隔。 输出格式: 输出所有可能组合出来的2位数字原创 2016-09-12 15:23:12 · 631 阅读 · 1 评论 -
PAT-B 1030. 完美数列
题目内容: 给定一个正整数数列,和正整数 pp,设这个数列中的最大值是 MM,最小值是 mm,如果 M≤m∗pM \le m * p,则称这个数列是完美数列。 现在给定参数 pp 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。 输入格式: 输入第一行给出两个正整数 NN 和 pp,其中N(≤105)N(\le 10^5)是输入的正整数的个数,p(≤109)原创 2016-04-30 00:04:09 · 930 阅读 · 0 评论 -
PAT-B 1049. 数列的片段和
题目内容: 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{0.1, 0.2, 0.3, 0.4},我们有(0.1) (0.1, 0.2) (0.1, 0.2, 0.3) (0.1, 0.2, 0.3, 0.4) (0.2) (0.2, 0.3) (0.2, 0.3, 0.4) (0.3) (0.3, 0.4) (0.4) 这10个片段。 给定正整数数列原创 2016-06-17 23:30:16 · 401 阅读 · 0 评论 -
PAT-B 1055. 集体照
题目内容: 拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下: 每排人数为N/K(向下取整),多出来的人全部站在最后一排; 后排所有人的个子都不比前排任何人矮; 每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整); 每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、原创 2016-06-19 23:48:58 · 917 阅读 · 1 评论 -
PAT-B 1054. 求平均值
题目内容: 本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。 输入格式: 输入第一行给出正整数N(<=100)。随后一行给出N个正整数,数字间以一个空格分隔。 输出格式: 对每个原创 2016-06-19 22:45:24 · 2078 阅读 · 0 评论 -
PAT-B 1053. 住房空置率
题目内容: 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”; 若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。 现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占原创 2016-06-19 21:48:47 · 453 阅读 · 0 评论 -
PAT-B 1052. 卖个萌
题目内容: 萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手] 现给出可选用的符号集合,请你按用户的要求输出表情。 输入格式: 输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号[]内。题目保证每个集合都至少有一个符号,并不超过10个符号;每个原创 2016-06-19 02:21:12 · 1411 阅读 · 1 评论 -
PAT-B 1051. 复数乘法
题目内容: 复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式(R(cos(P) + isin(P))。 现给定两个复数的R和P,要求输出两数乘积的常规形式。 输入格式: 输入在一行中依次给出两个复数的R1, P1,原创 2016-06-18 00:55:46 · 1816 阅读 · 3 评论 -
PAT-B 1045. 快速排序
题目内容: 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定N = 5, 排列是1、3、2、4、5。则: 1的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管3的左边元原创 2016-05-12 12:54:51 · 544 阅读 · 0 评论 -
PAT-B 1044. 火星数字
题目内容: 火星人是以13进制计数的: 地球人的0被火星人称为tret。 地球人数字1到12的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的12个高位数字分别称为:tam, hel, maa, huh, tou, kes, hei, elo, syy, lok, mer原创 2016-05-12 12:28:31 · 1421 阅读 · 0 评论 -
PAT-B 1011. A+B和C
题目内容: 给定区间[−231,231][-2^{31}, 2^{31}]内的3个整数A、B和C,请判断A+B是否大于C。 输入格式: 输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。 输出格式: 对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出原创 2016-04-28 01:15:54 · 348 阅读 · 0 评论 -
PAT-B 1010. 一元多项式求导
题目内容: 设计函数求一元多项式的导数。(注:xnx^n(n为整数)的一阶导数为n⋅xn−1n·x^{n-1}。) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0原创 2016-04-27 21:44:01 · 528 阅读 · 0 评论 -
PAT-B 1009. 说反话
题目内容: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。 输出格式:每个测试用例的输出占一行,输出倒序后的句子。 输入样例: H原创 2016-04-27 21:23:31 · 533 阅读 · 0 评论 -
PAT-B 1008. 数组元素循环右移问题
题目内容: 一个数组AA中存有 n>0n>0 个整数,在不允许使用另外数组的前提下,将每个整数循环向右移 m≥0m\ge0 个位置,即将A中的数据由(A0A1……An−1)(A_0 A_1……A_{n-1})变换为(An−m……An−1A0A1……An−m−1)(A_{n-m} …… A_{n-1} A_0 A_1……A_{n-m-1})(最后 mm 个数循环移至最前面的 mm 个位置原创 2016-04-27 21:07:48 · 524 阅读 · 0 评论 -
PAT-B 1007. 素数对猜想
题目内容: 让我们定义 dnd_n 为:dn=pn+1−pnd_n = p_{n+1} - p_n,其中 pip_i 是第ii个素数。显然有 d1=1d_1=1 且对于n>1n>1有 dnd_n 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N<105N < 10^5,请计算不超过NN的满足猜想的素数对的个数。 输入格原创 2016-04-27 19:24:27 · 538 阅读 · 0 评论 -
PAT-B 1006. 换个格式输出整数
题目内容: 让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。 输出格式:每个测试用例的输出占一行,用规定的格式输出n。 输入样例1原创 2016-04-27 18:50:51 · 357 阅读 · 0 评论 -
PAT-B 1002. 写出这个数
题目内容如下: 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。原创 2016-04-26 21:25:05 · 640 阅读 · 1 评论 -
PAT-B 1005. 继续(3n+1)猜想
题目内容: 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称5、8、4、原创 2016-04-27 13:24:21 · 529 阅读 · 0 评论 -
PAT-B 1004. 成绩排名
题目内容: 读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 成绩 其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间原创 2016-04-27 11:51:18 · 543 阅读 · 0 评论