PAT乙级
辞穷
如果你真心想做某事,全世界都会帮你完成。
展开
-
1075. 链表元素分类(25)
题目:Given a singly linked list, you are supposed to rearrange its elements so that all the negative values appear before all of the non-negatives, and all the values in [0, K] appear before all those gr原创 2017-11-07 16:24:42 · 301 阅读 · 0 评论 -
1013. 数素数 (20)-PAT乙级
题目: 令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。 输入格式: 输入在一行中给出M和N,其间以空格分隔。 输出格式: 输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。 输入样例: 5 27 输出样例: 11 13 17 19 23 29 31 37 41原创 2017-03-27 02:01:00 · 830 阅读 · 0 评论 -
1018. 锤子剪刀布 (20)-PAT乙级
题目: 现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。 输入格式: 输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。 输出格式: 输出第1、2行分别给出甲原创 2017-03-27 01:14:14 · 358 阅读 · 0 评论 -
1021. 个位数统计 (15)-PAT乙级
题目:给定一个k位整数N = dk-1*10k-1 + … + d1*101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。 输入格式: 每个输入包含1个测试用例,即一个不超过1000位的正整数N。 输出格式: 对N中每一种不同的个位数字,以D:M的格式在一行原创 2017-03-26 20:25:50 · 400 阅读 · 0 评论 -
1023. 组个最小数 (20)-PAT乙级
题目:给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。 现给定数字,请编写程序输出能够组成的最小的数。 输入格式: 每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数原创 2017-03-26 20:02:06 · 602 阅读 · 0 评论 -
1022. D进制的A+B (20)-PAT乙级
题目:输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数。 输入格式: 输入在一行中依次给出3个整数A、B和D。 输出格式: 输出A+B的D进制数。 输入样例: 123 456 8 输出样例: 1103解答:#include<iostream>#include<string>using namespace std;int原创 2017-03-26 10:46:40 · 577 阅读 · 0 评论 -
1030. 完美数列(25)-PAT乙级
题目: 给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M <= m * p,则称这个数列是完美数列。 现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。 输入格式: 输入第一行给出两个正整数N和p,其中N(<= 105)是输入的正整数的个数,p(<= 109)是给定的参数。第二行给出N个正整数,每个数不超过109。 输原创 2017-04-02 10:54:33 · 425 阅读 · 0 评论 -
1037. 在霍格沃茨找零钱(20)-PAT乙级
题目: 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。 输入格式: 输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用原创 2017-04-02 00:55:02 · 374 阅读 · 0 评论 -
1062. 最简分数(20)-PAT乙级
题目: 一个分数一般写成两个整数相除的形式:N/M,其中M不为0。最简分数是指分子和分母没有公约数的分数表示形式。 现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母为K的最简分数。 输入格式: 输入在一行中按N/M的格式给出两个正分数,随后是一个正整数分母K,其间以空格分隔。题目保证给出的所有整数都不超过1000。 输出原创 2017-04-02 00:22:08 · 369 阅读 · 0 评论 -
1053. 住房空置率 (20)-PAT乙级
题目: 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”; 若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。 现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套数原创 2017-04-01 21:14:47 · 293 阅读 · 0 评论 -
1017. A除以B (20)--PAT乙级
题目:本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔。 输出格式: 在1行中依次输出Q和R,中间以1空格分隔。 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3解答:原创 2017-03-26 10:15:42 · 318 阅读 · 0 评论 -
1016. 部分A+B (15)--PAT乙级
题目:正整数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 < 1010。 输出格式: 在一行中输出PA + PB的值。原创 2017-03-26 09:33:43 · 257 阅读 · 0 评论 -
1011. A+B和C (15)-PAT乙级
题目: 给定区间[-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开始)原创 2017-03-25 21:00:16 · 300 阅读 · 0 评论 -
1020. 月饼 (25)-PAT乙级
题目: 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。 注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部1原创 2017-03-27 02:53:58 · 369 阅读 · 0 评论 -
1005. 继续(3n+1)猜想 (25)-PAT乙级
题目: 卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这4个数已经在验证3的时候遇到过了,我们称5、8、原创 2017-04-03 21:35:19 · 337 阅读 · 0 评论 -
1072. 开学寄语(20)
题目:下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给出两个正整数N(<= 1000)和M(<= 6),分别是学生人数和需要被查缴的物品种类原创 2017-11-07 11:14:15 · 412 阅读 · 0 评论 -
1071. 小赌怡情(15)
题目:常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注t个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家t个筹码;否则扣除玩家t个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。输入格式:输入在第一行给出2个正整数T和K(<=100),分别是系统在初始状态下赠送给原创 2017-11-07 10:32:16 · 345 阅读 · 0 评论 -
1040. 有几个PAT(25)-PAT乙级/A1093
题目: 字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。 现给定字符串,问一共可以形成多少个PAT? 输入格式: 输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。 输出格式: 在一行中输出给定字符串中包含多少个PAT。由于原创 2017-03-28 09:05:52 · 661 阅读 · 0 评论 -
1045. 快速排序(25)-PAT乙级
题目: 著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元? 例如给定N = 5, 排列是1、3、2、4、5。则: 1的左边没有元素,右边的元素都比它大,所以它可能是主元; 尽管3的左边元素都比它小,原创 2017-04-06 01:41:01 · 587 阅读 · 0 评论 -
1033. 旧键盘打字(20)-PAT乙级
题目: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过105个字符的串。可用的字符包括字母[a-z, A-Z]、数字0-9、以及下划线“_”(代表空格)、“,”、“.”、“-原创 2017-04-06 01:16:45 · 617 阅读 · 0 评论 -
1029. 旧键盘(20)-PAT乙级
题目: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空。 输出格式:原创 2017-04-05 23:49:09 · 390 阅读 · 0 评论 -
1019. 数字黑洞 (20)-PAT乙级A1069
题目: 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。 例如,我们从6767开始,将得到 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 -原创 2017-04-01 19:42:26 · 445 阅读 · 0 评论 -
1069. 微博转发抽奖(20)-PAT乙级
题目: 小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包。请你编写程序帮助他确定中奖名单。 输入格式: 输入第一行给出三个正整数M(<= 1000)、N和S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从1开始)。随后M行,顺序给出转发微博的网友的昵称(不超过20个字符、不包含空格回车的非空字符串)。原创 2017-04-04 21:07:41 · 406 阅读 · 0 评论 -
1050. 螺旋矩阵(25)-PAT乙级
题目: 本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。 输入格式: 输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数。所有数字不超过104,相邻数字以空格分隔。 输出格式: 输出螺原创 2017-04-04 17:25:55 · 440 阅读 · 0 评论 -
1015. 德才论 (25)-PAT乙级
题目: 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。” 现给出一批考生的德才分数,请根据司马光的理论给出录取排名。 输入格式: 输入第1行给出3个正整数,分别为:N(<=105),即考生总数;L(>=60),为录取最低分数线,即原创 2017-04-04 16:54:16 · 327 阅读 · 0 评论 -
1044. 火星数字(20)-PAT乙级
题目: 火星人是以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,原创 2017-04-04 12:52:29 · 481 阅读 · 0 评论 -
1031. 查验身份证(15)-PAT乙级
题目: 一个合法的身份证号码由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 10 M:1 0 X 9 8 7 6 5原创 2017-04-04 00:51:43 · 419 阅读 · 0 评论 -
1006. 换个格式输出整数 (15)-PAT乙级
题目: 让我们用字母B来表示“百”、字母S表示“十”,用“12…n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。 输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。 输出格式:每个测试用例的输出占一行,用规定的格式输出n。 输入样例1:原创 2017-03-25 19:33:42 · 551 阅读 · 0 评论 -
1001. 害死人不偿命的(3n+1)猜想(15)-PAT乙级
题目: 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国原创 2017-03-08 11:45:04 · 365 阅读 · 0 评论 -
1008. 数组元素循环右移问题 (20)-PAT乙级
题目: 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0 A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法? 输入格式:每个输入包含一个测试用例,第1行输入N ( 1<=N<=原创 2017-03-25 19:21:34 · 379 阅读 · 0 评论 -
1066. 图像过滤(15)-PAT乙级
题目: 图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。 输入格式: 输入在第一行给出一幅图像的分辨率,即两个正整数M和N(0 < M, N <= 500),另外是待过滤的灰度值区间端点A和B(0 <= A < B <= 255)、以及指定的替换灰度值。随后M行,每行给出N个原创 2017-03-30 16:17:08 · 488 阅读 · 0 评论 -
1049. 数列的片段和(20)-PAT乙级
题目: 给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列{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个片段。 给定正整数数列,求出全原创 2017-03-29 22:49:26 · 348 阅读 · 0 评论 -
1057. 数零壹(20)-PAT乙级
题目: 给定一串长度不超过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。 输入格式: 输入在一行中给出长度不超过1原创 2017-03-29 20:34:07 · 321 阅读 · 0 评论 -
1041. 考试座位号(15)-PAT乙级
题目: 每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。 输入格式: 输入第一行给出一个正整数N(<=1000),随后N原创 2017-03-29 19:15:19 · 775 阅读 · 0 评论 -
1046. 划拳(15)-PAT乙级
题目: 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。 下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。 输入格式: 输入第一行先给出一个正整数N(<=100),随后N行,原创 2017-03-29 18:40:14 · 325 阅读 · 0 评论 -
1042. 字符统计(20)-PAT乙级
题目: 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。 输出格式: 在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,原创 2017-03-29 13:20:09 · 282 阅读 · 0 评论 -
1043. 输出PATest(20)-PAT乙级
题目: 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest….”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。 输入格式: 输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。 输出格式:原创 2017-03-29 11:24:43 · 325 阅读 · 0 评论 -
1036. 跟奥巴马一起编程(15)-PAT乙级
题目: 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧! 输入格式: 输入在一行中给出正方形边长N(3<=N<=20)和组成正方形边的某种字符C,间隔一个空格。 输出格式: 输出由给定字原创 2017-03-28 18:27:19 · 383 阅读 · 0 评论 -
1038. 统计同成绩学生(20)-PAT乙级
题目: 本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。 输入格式: 输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。 输出格式: 在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有原创 2017-03-28 17:28:41 · 287 阅读 · 0 评论 -
1039. 到底买不买(20)-PAT乙级
题目: 小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。 为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含了全部原创 2017-03-28 16:35:48 · 293 阅读 · 0 评论