Python3之PAT乙级
文章平均质量分 70
xutiantian1412
考虑到历史的行程,我就从地质专业润了去做风控算法。
展开
-
(python3)1081 检查密码 (15 分) & 1082 射击比赛 (20 分) & 1083 是否存在相等的差 (20 分)
时隔一年,偶尔回来做做基础的pat题目,确实太简单了,一口气搞了五道题,如下两篇博客。1081 检查密码 (15 分)题目内容如下:本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点.,还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(≤100),随后 N 行,每...原创 2019-05-24 12:08:01 · 369 阅读 · 0 评论 -
(python3)1043.输出PATest(20分)
题目如下所述: 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按“PATestPATest....”这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按PATest的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。输出格式:在一行中按题目要...原创 2018-03-05 10:56:34 · 1257 阅读 · 0 评论 -
(python3)1025. 反转链表 (22分)
题目如下:给定一个常数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(<= 105)、以及正整数K(<=N),即要求反转的子链结点的...原创 2018-03-17 18:31:14 · 574 阅读 · 2 评论 -
(python3)1023.组个最小数 (20分)
题目如下:给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入格式:每个输入包含1个测试用例。每个测试用例在一行中给出10个非负整数,顺序表示我们拥有数字0、数字1、……数字9的个数。整数间用一个空...原创 2018-02-24 14:13:38 · 687 阅读 · 0 评论 -
(python3)1051. 复数乘法 (15分)
题目赘述如下:复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式 R(cos(P) + isin(P))。现给定两个复数的R和P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空格分隔。输...原创 2018-01-31 21:15:48 · 1839 阅读 · 0 评论 -
(python3)1037.在霍格沃茨找零钱(20分)
题目如下:如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱P和他实付的钱A,你的任务是写一个程序来计算他应该被找的零钱。输入格式:输入在1行中分别给出P和A,格式为“Galleon.Sickle.Knut”,其间用1个空格分隔。这里G...原创 2018-02-24 13:33:48 · 1144 阅读 · 0 评论 -
(python3)1034.有理数四则运算(20分)
题目如下:本题要求编写程序,计算2个有理数的和、差、积、商。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。输出格式:分别在4行中按照“有理数1 运算符 有理数2 = 结果”的格式顺序输出2个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式“k a/b”,其中k是整数部分...原创 2018-02-24 12:25:33 · 1687 阅读 · 0 评论 -
(python3)1041.考试座位号(15分)、1042. 字符统计(20分)
1041的题目是:每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数N(<=1000),随后N行,每...原创 2018-03-01 14:06:19 · 779 阅读 · 0 评论 -
(python3)1038.统计同成绩学生(20分)
题目是酱紫的:本题要求读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第1行给出不超过105的正整数N,即学生总人数。随后1行给出N名学生的百分制整数成绩,中间以空格分隔。最后1行给出要查询的分数个数K(不超过N的正整数),随后是K个分数,中间以空格分隔。输出格式:在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空格分隔,但行末不得有多余空格。输入样例:1060 7...原创 2018-03-01 09:14:32 · 2511 阅读 · 5 评论 -
(python3)1031.查验身份证(15分)
题目如下:一个合法的身份证号码由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 2现在给定一些身...原创 2018-03-01 08:50:48 · 3229 阅读 · 0 评论 -
(python3)1053.住房空置率 (20分)
题目赘述如下:在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”;若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居原创 2018-02-03 21:34:47 · 784 阅读 · 0 评论 -
(python3)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, lok, mer, jou。例如地球人的数字...原创 2018-03-05 11:12:50 · 1513 阅读 · 0 评论 -
(python3)1079. 延迟的回文数 (20分)——2017-12考题
题目如下:给定一个 k+1 位的正整数 N,写成 ak...a1a0 的形式,其中对所有 i 有 0 <= ai < 10 且 ak > 0。N 被称为一个回文数,当且仅当对所有 i 有 ai = ak-i。零也被定义为一个回文数。非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果和还不是一个回文数,就重复这个逆转再相加的操作,直到一个回文数出现...原创 2018-03-13 12:11:43 · 458 阅读 · 0 评论 -
(python3) 1084 外观数列 (20 分) & 1085 PAT单位排行 (25 分)
接下来两道题目难度也一般,1084其实是字符串的处理,1085是常见的统计/排序问题。1084 外观数列 (20 分)题目叙述如下:外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字d开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个d,所...原创 2019-05-24 19:54:24 · 572 阅读 · 0 评论 -
(python3)1065.单身狗(25 分)
题目如下:“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为...原创 2018-07-22 10:06:11 · 1976 阅读 · 1 评论 -
(python3)1064.朋友数(20 分)
题目如下:如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 10^4。...原创 2018-07-22 00:02:17 · 495 阅读 · 0 评论 -
(python3)1060.爱丁顿数(25 分)
题目叙述如下:英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤)。输入格式:输入第一行给出一个正整数 N (≤ 10^5),即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑车距离。输出格式:在一行中给出 ...原创 2018-07-06 20:47:35 · 623 阅读 · 1 评论 -
(python3)1062.最简分数(20 分)及1063 计算谱半径(20 分)
1062 最简分数(20 分)一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1 和 N2/M2,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。输入格式:输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔。题目保证给出的所有整数都不...原创 2018-07-08 21:40:52 · 946 阅读 · 0 评论 -
(python3)1059.C语言竞赛(20分)
题目如下所述:C语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0. 冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。\排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!\其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行给出一个正整数N(<=10000)...原创 2018-06-19 15:44:33 · 1055 阅读 · 0 评论 -
(python3)1058.选择题(20分)及1061.判断题(15分)
这篇两道题都是给题目判分的,放在一起,都比较简单~1058 选择题批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数N(<=1000)和M(<=100),分别是学生人数和多选题的个数。随后M行,每行顺次给出一道题的满分值(不超过5的正整数)、选项个数(不少于2且不超过5的正整数)、正确选项个数(不超过选项个数...原创 2018-06-15 19:46:07 · 1417 阅读 · 0 评论 -
(python3)1055.集体照 (25分)
题目如下:拍集体照时队形很重要,这里对给定的N个人K排的队形设计排队规则如下:每排人数为N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为m/2+1,其中m为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则队形为175、188、1...原创 2018-06-08 20:28:15 · 1255 阅读 · 0 评论 -
(python3)1054.求平均值 (20分)
题目叙述如下:本题的基本要求非常简单:给定N个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是[-1000,1000]区间内的实数,并且最多精确到小数点后2位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数N(<=100)。随后一行给出N个实数,数字间以一个空格分隔。输出格式:对每个非法输入,在一行中输出“ERR...原创 2018-06-07 21:19:06 · 8096 阅读 · 1 评论 -
(python3)1056.组合数的和(15分)及1057.数零壹(20分)
1056.组合数的和 题目如下:给定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...原创 2018-05-31 17:20:17 · 792 阅读 · 1 评论 -
(python3)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个片段。给定正原创 2018-01-31 14:04:35 · 807 阅读 · 1 评论 -
(python3)1048.数字加密(20分)
先看一下题目:本题要求实现一种数字加密方法。首先固定一个加密用正整数A,对任一正整数B,将其每1位数字与A的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对13取余——这里用J代表10、Q代表11、K代表12;对偶数位,用B的数字减去A的数字,若结果为负数,则再加10。这里令个位为第1位。输入格式:输入在一行中依次给出A和B,均为不超过100位的正整数,其间以空格分原创 2018-01-31 11:12:13 · 939 阅读 · 0 评论 -
(python3)1046.划拳(15分)及1047.编程团体赛(20分)
题目不再赘述,十分简单,处理一些输入及字符。1046题答案如下:n = eval(input())r1 , r2 = 0,0for i in range(n): lst = list(map(int, input().split())) num = lst[0] + lst[2] if lst[1] == lst[3]: continue原创 2018-01-30 17:36:20 · 472 阅读 · 0 评论 -
python3之1018. 锤子剪刀布 (18分)
问题介绍:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第1行给出正整数N(5),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。输出格式:输出第1、2行分别给出甲、乙原创 2017-12-14 22:08:18 · 813 阅读 · 2 评论 -
python3之1014. 福尔摩斯的约会 (20分)
题目赘述:大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母'D',代表星期四;第2对相同的字符是'E',那是第5个英文字母,代原创 2017-12-13 23:44:55 · 419 阅读 · 0 评论 -
(python3) 1019. 数字黑洞 (20分)
题目是酱紫的:给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 = 10899810 - 0189 = 962196原创 2017-12-14 23:52:54 · 1676 阅读 · 0 评论 -
python3之1013.数素数 (19分)
题目赘述如下:令Pi表示第i个素数。现任给两个正整数M 4,请输出PM到PN的所有素数。输入格式:输入在一行中给出M和N,其间以空格分隔。输出格式:输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31 37 41 4347 53 59原创 2017-12-11 16:48:10 · 955 阅读 · 2 评论 -
python3之1016.部分A+B (15)及1017.A除以B (20)
这两道题都基本白给的,都是数字的一些很简单的处理,连我这种菜鸟都是一遍过,不再赘述题目,列出各自代码以供参考交流学习之用。lst = input().split()n1,n2 = lst[0].count(lst[1]), lst[2].count(lst[3])if n1==0 and n2==0: print(0)else: pa ,pb = lst[1]*n原创 2017-12-11 21:04:30 · 500 阅读 · 0 评论 -
python3之1010.一元多项式求导 (25分)
题目赘述如下:设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。输入样例:3原创 2017-12-11 12:29:08 · 3177 阅读 · 0 评论 -
python3之1007.素数对猜想 (20分)
题目赘述如下:让我们定义 dn为:dn= pn+1- pn,其中 pi是第i个素数。显然有 d1=1 且对于n>1有 dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N (< 10^5),请计算不超过N的满足猜想的素数对的个数。输入格式:每个测试输入包含1个测试用例,给出正整数N。输出格式:每个测试用例的输出占一行,不超过N的...原创 2017-12-11 00:32:10 · 1841 阅读 · 9 评论 -
Python3之1003.我要通过(20分)
题目赘述如下:得到“答案正确”的条件是:1. 字符串中必须仅有P, A, T这三种字符,不可以包含其它字符;2. 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;3. 如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a, b, c 均或者是空字符串,或者是仅由字母 A 组成的字符串。现在就请你为P...原创 2017-12-10 20:46:40 · 676 阅读 · 0 评论 -
python3之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开始)...原创 2017-12-11 13:33:35 · 1140 阅读 · 0 评论 -
python3之1006.换个格式输出整数 (15分)
复述一下题目:让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(输入格式:每个测试输入包含1个测试用例,给出正整数n(输出格式:每个测试用例的输出占一行,用规定的格式输出n。输入样例1: 234输出样例1: BBSSS1234输入样例2: 23输出样例2: SS123解题:该问题图森破,不废话,直接给代码不做解原创 2017-12-10 23:21:08 · 978 阅读 · 0 评论 -
python3之1002.写出这个数(20分)
题目赘述如下:读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu...原创 2017-12-10 20:55:01 · 775 阅读 · 0 评论 -
python3之1012. 数字分类 (20分)
题目赘述如下:给定一系列正整数,请按要求对数字进行分类,并输出以下5个数字:A1 = 能被5整除的数字中所有偶数的和;A2 = 将被5除后余1的数字按给出顺序进行交错求和,即计算n1-n2+n3-n4...;A3 = 被5除后余2的数字的个数;A4 = 被5除后余3的数字的平均数,精确到小数点后1位;A5 = 被5除后余4的数字中最大数字。输入格式:每个输入原创 2017-12-11 16:38:06 · 1135 阅读 · 0 评论 -
(python3)1080. MOOC期终成绩 (19分)——2017-12考题
题目赘述:对于在中国大学MOOC(http://www.icourse163.org/)学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为 G = (G期中x 40% + G期末x 60%),如果 G期中 > G期末;否则总评 G 就是 G期末。这里 G期中 和 G期末 分别为学生的期中和...原创 2017-12-18 21:33:00 · 1104 阅读 · 3 评论 -
(python3)1078. 字符串压缩与解压 (20分)——2017-12考题
题目赘述:本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英文字母和空格组成的非空字符串。输入格式:输入第一行给出一个字符,如果是 C 就表示下面的字符串需要被压缩;如果是 D 就表示下面的字符串需要被解压。第二行给出需要被压缩或解压的不超过1000个字符的字符串,以回车结尾。题目保证字符重复个数在整型范围内,且输出文件不超过1原创 2017-12-18 16:51:46 · 2907 阅读 · 0 评论