PAT乙级+PAT相关天梯赛训练
文章平均质量分 70
ccDLlyy
不忘初心,方得始终
展开
-
1028. 人口普查(20)
1028. 人口普查(20)某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过200岁的老人,而今天是2014年9月6日,所以超过200岁的生日和未出生的生日都是不合理的,应该被过滤掉。输入格式:输入在第一行给出正整数N,取值在(0, 105];随后N行原创 2016-07-28 14:34:49 · 433 阅读 · 0 评论 -
L1-030. 一帮一
L1-030. 一帮一“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输入格式:输入第一行给出正偶数N(输出格式:每行输出一组两个学生的姓名,其间以1个空原创 2016-07-29 17:47:09 · 2921 阅读 · 0 评论 -
1019. 数字黑洞 (20)
1019. 数字黑洞 (20)给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189原创 2016-07-28 15:09:13 · 487 阅读 · 0 评论 -
1029. 旧键盘(20)
1029. 旧键盘(20)旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及下划线“_”(代表空格)组成。题目保证2个字符串均非空原创 2016-07-28 14:51:04 · 357 阅读 · 0 评论 -
1024. 科学计数法 (20)
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留。输入格式:每个输入包含1个测试用例,即一个以科学计原创 2016-07-28 14:14:29 · 630 阅读 · 0 评论 -
1009. 说反话 (20)
1009. 说反话 (20)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:原创 2016-07-28 10:54:50 · 439 阅读 · 0 评论 -
1008. 数组元素循环右移问题 (20)
1008. 数组元素循环右移问题 (20)一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1 A0 A1……AN-M-1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包原创 2016-07-28 10:47:46 · 661 阅读 · 0 评论 -
1005. 继续(3n+1)猜想 (25)
1005. 继续(3n+1)猜想 (25)卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对n=5、8、4、2进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这原创 2016-07-28 10:37:49 · 514 阅读 · 0 评论 -
1003. 我要通过!(20)
1003. 我要通过!(20)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于PAT的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x转载 2016-07-28 09:43:07 · 448 阅读 · 0 评论 -
阶乘计算升级版
计算较大数的阶乘原理:利用数组存储每一位#include #include int main(){ int number;/*所求数*/ int dight[3000]={0}; int top=0;/*位数*/ scanf("%d",&number); int i,j; dight[0]=1; int last=0,now;原创 2016-07-29 21:15:49 · 716 阅读 · 0 评论 -
L1-006. 连续因子
L1-006. 连续因子一个正整数N的因子中可能存在若干连续的数字。例如630可以分解为3*5*6*7,其中5、6、7就是3个连续的数字。给定任一正整数N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数N(131)。输出格式:首先在第1行输出最长连续因子的个数;然后在第2行中按“因子1*因子2*……*因原创 2016-07-29 09:23:18 · 1920 阅读 · 0 评论 -
1017. A除以B (20) (利用数组存储运算结果)
1017. A除以B (20)本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:输入在1行中依次给出A和B,中间以1空格分隔。输出格式:在1行中依次输出Q和R,中间以1空格分隔。输入样例:123456789050987654321 7输出样例:1原创 2016-07-28 11:13:13 · 581 阅读 · 0 评论 -
快速排序
1045. 快速排序(25)著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的N个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定N = 5, 排列是1、3、2、4、5。则:1的左边没有元素,右边的元素都比它大,所以它可能是主原创 2016-09-12 20:57:24 · 537 阅读 · 0 评论 -
反转链表
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个结点的地址、结点总个数正整数N(5)、以及正整数K(原创 2016-09-24 15:03:35 · 638 阅读 · 0 评论 -
爱丁顿数 PAT 1060
英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数”E,即满足有E天骑车超过E英里的最大整数E。据说爱丁顿自己的E等于87。现给定某人N天的骑车距离,请你算出对应的爱丁顿数E(输入格式:输入第一行给出一个正整数N(5),即连续骑车的天数;第二行给出N个非负整数,代表每天的骑车距离。输出格式:在一行中给出N天的爱丁顿数。输入原创 2016-09-21 16:59:41 · 1397 阅读 · 0 评论 -
插入与归并
1035. 插入与归并(25)根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下1个有序的序列。现给定原始序列和由某排序算法原创 2016-09-25 11:23:45 · 655 阅读 · 0 评论 -
L1-025. 正整数A+B
L1-025. 正整数A+B本题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。输入格式:输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目原创 2016-07-29 17:44:04 · 1562 阅读 · 0 评论 -
L1-020. 帅到没朋友
L1-020. 帅到没朋友当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式:输入第一行给出一个正整数N(注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。虽然有个别自恋狂会自己把自己反复加进朋友圈,但题目保证所有K超过1的朋友圈里都至少有2个不同的人。输出格原创 2016-07-29 17:32:14 · 1357 阅读 · 0 评论 -
L1-009. N个数求和
L1-009. N个数求和本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数“分子/分母”的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(输出格式:输出上述数字和的最简形式 —— 即将结果写成“整数部分 分数部分”,其中分数部分写成“分子/分母”,要求分子小于分母,且它们没有公因子。如果结果的整数部分为原创 2016-07-29 17:12:51 · 761 阅读 · 0 评论 -
1030. 完美数列(25)
1030. 完美数列(25)给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M 现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(5)是输入的正整数的个数,p(9)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式:在一行中输出最多可以选原创 2016-07-28 15:14:30 · 285 阅读 · 0 评论 -
1033. 旧键盘打字(20)
1033. 旧键盘打字(20)时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些原创 2016-07-28 15:49:55 · 510 阅读 · 0 评论 -
1034. 有理数四则运算(20)
1034. 有理数四则运算(20)时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue本题要求编写程序,计算2个有理数的和、差、积、商。输入格式:输入在一行中按照“a1/b1原创 2016-07-28 17:06:12 · 524 阅读 · 0 评论 -
1040. 有几个PAT(25)
1040. 有几个PAT(25)字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串,长度不超过105,只包含P、A、T三种字母。输出格式:在一行中输出给定字原创 2016-07-28 18:39:58 · 283 阅读 · 0 评论 -
1042. 字符统计(20)
【桶排序及其应用】很强大,提供了‘容器’的思想,注意灵活应用,下面是一个例子:1042. 字符统计(20)请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过1000的字符串。字符串由ASCII码表中任意可见字符及空格组成,至少包含1个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现原创 2016-07-28 18:46:13 · 332 阅读 · 0 评论 -
1043. 输出PATest(20)
//由已知字符串拼凑出需要字符串,先统计,再最大努力输出1043. 输出PATest(20)时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue给定一个长度不超过10000的、仅由英原创 2016-07-28 18:56:52 · 311 阅读 · 0 评论 -
1044. 火星数字(20)
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, sy原创 2016-07-28 19:07:26 · 582 阅读 · 0 评论 -
1048. 数字加密(20)
1048. 数字加密(20)本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12;对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。这里令个位为第1位。输入格式:输入在一行中依次给出A和B,均为不超过100位原创 2016-07-28 22:11:52 · 858 阅读 · 0 评论 -
1049. 数列的片段和(20)
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个片原创 2016-07-28 22:15:43 · 278 阅读 · 0 评论 -
1050. 螺旋矩阵(25)
1050. 螺旋矩阵(25)本题要求将给定的N个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第1个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为m行n列,满足条件:m*n等于N;m>=n;且m-n取所有可能值中的最小值。输入格式:输入在第1行中给出一个正整数N,第2行给出N个待填充的正整数。所有数字不超过104,相邻数字以空格分隔。输原创 2016-07-28 22:47:32 · 540 阅读 · 0 评论 -
1051. 复数乘法 (15)
1051. 复数乘法 (15)复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式(R(cos(P) + isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个原创 2016-07-28 23:02:30 · 349 阅读 · 0 评论 -
1052. 卖个萌 (20)
1052. 卖个萌 (20)萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号[]内。题目保证每个集合都至少有一个符号,并原创 2016-07-28 23:30:30 · 363 阅读 · 0 评论 -
1053. 住房空置率 (20)
1053. 住房空置率 (20)在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”;若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上原创 2016-07-28 23:54:58 · 316 阅读 · 0 评论 -
1054. 求平均值 (20)
1054. 求平均值 (20)本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数N(输出格式:对每个非法输入,在一行中输出“ERROR: X i原创 2016-07-29 08:53:17 · 496 阅读 · 0 评论 -
1055. 集体照 (25)
1055. 集体照 (25)拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下:每排人数为N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、18原创 2016-07-29 08:57:45 · 789 阅读 · 0 评论 -
PAT 1015. 德才论 (25)
1015. 德才论 (25)宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录原创 2016-09-22 11:14:53 · 445 阅读 · 0 评论