PAT 乙级
文章平均质量分 89
arthur01p
这个作者很懒,什么都没留下…
展开
-
PAT 乙级 (Basic Level) Practice (中文)1045
1045 快速排序 (25 分)著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 N=5N = 5N=5, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元;...原创 2019-02-28 10:04:14 · 154 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1044
1044 火星数字 (20 分)火星人是以 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...原创 2019-02-28 09:59:28 · 237 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1025
1025 反转链表 (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 个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数...原创 2019-02-28 09:56:29 · 187 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1017
1017 A除以B (20 分)本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。输入格式:输入在一行中依次给出 A 和 B,中间以 1 空格分隔。输出格式:在一行中依次输出 Q 和 R,中间以 1 空格分隔。输入样例:123456789050987654321 7输出样例:1763...原创 2019-02-28 09:52:45 · 134 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1043
1043 输出PATest (20 分)给定一个长度不超过 10^4的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest.... 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过 10^4的、仅由英文字母构成的非...原创 2019-01-30 18:46:36 · 137 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1034
1034 有理数四则运算 (20 分)本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须...原创 2019-02-05 15:40:57 · 161 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1049
1049 数列的片段和 (20 分)给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 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...原创 2019-02-05 15:37:43 · 153 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1013
1013 数素数 (20 分)令 Pi表示第 i 个素数。现任给两个正整数 M≤N≤10^4 ,请输出 P的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从 PM到 PN的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 43...原创 2019-02-04 15:26:54 · 141 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1007
1007 素数对猜想 (20 分)让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<10^5 ),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素...原创 2019-02-04 14:27:08 · 175 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1040
1040 有几个PAT (25 分)字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?输入格式:输入只有一行,包含一个字符串,长度不超过10^5,只包含 P、A、T 三种字母。输出格式:在一行中输出...原创 2019-02-04 08:29:04 · 115 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1014
1014 福尔摩斯的约会 (20 分)大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的...原创 2019-01-23 11:10:17 · 145 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1019
1019 数字黑洞 (20 分)给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的 6174,这个神奇的数字也叫 Kaprekar 常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = ...原创 2019-02-03 17:31:52 · 140 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1003
1003 我要通过! (20 分)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 ...原创 2019-02-03 15:04:33 · 199 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1061
1061 判断题 (15 分)判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。输...原创 2019-03-02 18:50:34 · 144 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1060
1060 爱丁顿数 (25 分)英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。输入格式:输入第一行给出一个正整数 N (≤105 ),即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑...原创 2019-03-02 18:49:08 · 219 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1059
1059 C语言竞赛 (20 分)C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!2、其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行...原创 2019-03-02 18:47:42 · 121 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1058
1058 选择题 (20 分)批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选...原创 2019-03-02 18:45:16 · 141 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1057
1057 数零壹 (20 分)给定一串长度不超过 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。...原创 2019-03-02 18:43:40 · 153 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1056
1056 组合数的和 (15 分)给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式:输入在第一行中给出 N(1 < N < 10),随后一行给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格...原创 2019-03-02 18:42:09 · 134 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1055
1055 集体照 (25 分)拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下:每排人数为 N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、18...原创 2019-03-02 18:40:51 · 149 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1054
1054 求平均值 (20 分)本题的基本要求非常简单:给定 NNN 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数 NNN(≤100)。随后一行给出 NNN 个实数,数字间以一个空格分隔。输出格式:...原创 2019-03-01 17:05:16 · 170 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1053
1053 住房空置率 (20 分)在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为“可能空置”;若观察期超过某给定阈值 DDD 天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民...原创 2019-03-01 17:02:31 · 98 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1052
1052 卖个萌 (20 分)萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号 []内。题目保证每个集合都至少有一个符号,并不超过 10 个符号;每个符...原创 2019-03-01 16:59:07 · 148 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1051
1051 复数乘法 (15 分)复数可以写成 (A+Bi)(A+Bi)(A+Bi) 的常规形式,其中 AAA 是实部,BBB 是虚部,iii 是虚数单位,满足 i2=−1i^2^=−1i2=−1;也可以写成极坐标下的指数形式 (R×e(Pi))(R×e^(Pi)^)(R×e(Pi)),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (R(cos(P)+i...原创 2019-03-01 16:57:00 · 207 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1050
1050 螺旋矩阵 (25 分)本题要求将给定的 NNN 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 NNN;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数 NNN,第 2 行给出 NNN 个待填充的正整数。所有数字不超过 1...原创 2019-03-01 16:51:02 · 128 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1007
1007 素数对猜想 (20 分)让我们定义dn为:dn = pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的素数对的个数。...原创 2019-02-28 10:26:14 · 97 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1035
1035 插入与归并 (25 分)根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序...原创 2019-02-03 12:05:45 · 125 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1030
1030 完美数列 (25 分)给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤10^5) 是输入的正整数的个数,p(≤10^9)是给定的参数。第二行给出 N 个正整数,每个数不超过 10...原创 2019-02-02 15:05:30 · 148 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1009
1009 说反话 (20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello ...原创 2019-01-22 17:12:00 · 216 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1004
1004 成绩排名 (20 分)读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的...原创 2019-01-21 14:47:02 · 185 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1046
1046 划拳 (15 分)划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整数 N(≤100),随后 N 行...原创 2019-01-21 10:44:04 · 153 阅读 · 1 评论 -
PAT 乙级 (Basic Level) Practice (中文)1026
1026 程序运行时间 (15 分)要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调...原创 2019-01-21 10:42:03 · 114 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1023
1023 组个最小数 (20 分)给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字...原创 2019-01-21 10:38:27 · 116 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1020
1020 月饼 (25 分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么我们...原创 2019-01-21 10:36:02 · 248 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1016
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&amp;amp;lt;A,B...原创 2019-01-21 10:30:46 · 138 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1012
1012 数字分类 (20 分)给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和;A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1 −n2+n3 −n4⋯;A3= 被 5 除后余 2 的数字的个数;A4= 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A5= 被 5 除后余 4 的数...原创 2019-01-21 10:24:46 · 156 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1011
1011 A+B 和 C (15 分)给定区间 [-2^31, 2^31]内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。输入格式:输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出 Case #X: true 如果 A+B&gt;C,否则输出...原创 2019-01-21 10:19:17 · 263 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1015
1015 德才论 (25 分)宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤10^5),即考生总数;L(≥60),为录取最低分数线,...原创 2019-01-25 15:04:37 · 173 阅读 · 1 评论 -
PAT 乙级 (Basic Level) Practice (中文)1008
1008 数组元素循环右移问题 (20 分)一个数组A中存有N(&gt;0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0 A1⋯AN−1)变换为(AN−M ⋯AN−1 A0 A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试...原创 2019-01-20 19:11:26 · 163 阅读 · 0 评论 -
PAT 乙级 (Basic Level) Practice (中文)1002
1002 写出这个数 (20 分)读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100 。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:123456789098765432112345...原创 2019-01-20 18:56:37 · 299 阅读 · 0 评论