![](https://img-blog.csdnimg.cn/20200320132942265.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
PAT乙级
文章平均质量分 86
记录下解题思路,题型,代码,遇到的问题及解决办法
~豆沙味的旺仔
这个作者很懒,什么都没留下…
展开
-
PAT乙级 1065 单身狗
题目:输入样例:311111 2222233333 4444455555 66666755555 44444 10000 88888 22222 11111 23333输出样例:510000 23333 44444 55555 88888分析:这道题的基本思路就是把情侣标记出来,如果情侣两人都在客人中,就把两人都排除掉,只取单身狗或情侣不在身边的伪单身狗U•ェ•*U。...原创 2020-04-27 14:04:27 · 473 阅读 · 0 评论 -
PAT乙级 1062 最简分数
题目:输入样例:7/18 13/20 12输出样例:5/12 7/12分析:这道题直接按题意来就行,算出两个分数的值,在两个分数之间找到所有的与所给分母互质的整数(即公因数只有1,这里用了辗转相除法),按题目输出就行Pythonimport math, regcd = lambda t1, t2: t1 if t2 == 0 else gcd(t2, t1 % t2)a1...原创 2020-04-22 22:04:31 · 208 阅读 · 0 评论 -
PAT乙级 1060 爱丁顿数
题目:输入样例:106 7 6 9 3 10 8 2 7 8输出样例:6法一:Pythonn = int(input())num = [int(x) for x in input().split()]for i in range(n, -1, -1): m = n - i flag = 1 cnt = 0 for j in range(n)...原创 2020-04-19 18:26:27 · 186 阅读 · 0 评论 -
PAT乙级 1059 C语言竞赛
题目 输入样例:61111666688881234555500016888800011111222288882222输出样例:8888: Minion0001: Chocolate1111: Mystery Award2222: Are you kidding?8888: Checked2222: Are you kidding?Python分析...原创 2020-04-19 00:39:13 · 177 阅读 · 0 评论 -
PAT乙级 1054 求平均值
题目:输入样例1:75 -3.2 aaa 9999 2.3.4 7.123 2.35输出样例1:ERROR: aaa is not a legal numberERROR: 9999 is not a legal numberERROR: 2.3.4 is not a legal numberERROR: 7.123 is not a legal numberThe aver...原创 2020-04-18 17:36:04 · 168 阅读 · 0 评论 -
PAT乙级 1052 卖个萌
题目:输入样例:[╮][╭][o][~\][/~] [<][>] [╯][╰][^][-][=][>][<][@][⊙][Д][▽][_][ε][^] ...41 1 2 2 26 8 1 5 53 3 4 3 32 10 3 9 3输出样例:╮(╯▽╰)╭<(@Д=)/~o(^ε^)oAre you kidding me? @\/...原创 2020-04-18 12:17:13 · 199 阅读 · 0 评论 -
PAT乙级 1051 复数乘法
题目:输入样例:2.3 3.5 5.2 0.4输出样例:-8.68-8.23i分析:先计算,(a+bi)(c+d*i)=(ac-bd)+(ad+bc)*i然后格式化输出结果,感觉很简单吧,其实有坑啊注意:1.结果的两项为0时不能省略不写,实数部分应为0.00,虚数部分应为+0.00i2.浮点数格式化四舍五入保留n位小数时是有问题的2.当 0 >(ad+bc)>...原创 2020-04-16 18:53:47 · 174 阅读 · 0 评论 -
PAT乙级 1050 螺旋矩阵
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:1237 76 20 98 76 42 53 95 60 81 58 93输出样例:98 95 9342 37 8153 20 7658 60 76代码如下(Python):#include <iostream>#include <cmath>#include <algorith...原创 2020-04-12 23:25:37 · 90 阅读 · 0 评论 -
PAT乙级 1049 数列的片段和
题目:输入样例:40.1 0.2 0.3 0.4输出样例:5.00分析:关键要到找规律对 { 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)其中0.1有1x...原创 2020-04-10 21:56:44 · 136 阅读 · 0 评论 -
PAT乙级 1048 数字加密
题目:输入样例:1234567 368782971输出样例:3695Q8118分析:先将两字符串倒置,用0在末尾补齐位数较少的那个数组,然后遍历按奇偶情况分别处理(注意偶数索引对应奇数位,奇数索引对应偶数位),将每个处理后的字符放入新数组或修改原数组对应位置元素,最后再倒置输出。Python实现:dict0 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, '...原创 2020-04-09 17:01:02 · 124 阅读 · 0 评论 -
PAT乙级 1045 快速排序
题目:输入样例:51 3 2 4 5输出样例:31 4 5分析:先对数列排序,根据题意知排序主元左边的都比主元小,右边的都比主元大,那么排序时就相当于对主元左边和右边的数分别进行排序,主元位置不变,左边排序前是什么排序后还是什么,右边同理。且数列元素不重复,某位置元素改变则大小一定改变。由上述可知,若排序前的某元素与排序后相同位置的元素大小相等则可能是主元,若同时该元素比它...原创 2020-04-09 00:26:56 · 88 阅读 · 0 评论 -
PAT乙级 1044 火星数字
题目:输入样例:4295elo novtam输出样例:hel marmay11513分析:先判断接受的输入是不是纯数字,是的话就是地球—>火星,不是的话就是火星—>地球,分开讨论就行了注意:[0~169) 化为火星数字最大也是两位数(jou dec=12*13+12=168),只需考虑一位数和两位数火星的0需要单独判断输出tret火星低位为零时则...原创 2020-04-07 23:46:02 · 110 阅读 · 0 评论 -
PAT乙级 1035 插入与归并
题目:在这里插入图片描述输入样例1:103 1 2 8 7 5 9 4 6 01 2 3 7 8 5 9 4 6 0输出样例1:Insertion Sort1 2 3 5 7 8 9 4 6 0输入样例2:103 1 2 8 7 5 9 4 0 61 3 2 8 5 7 4 9 0 6输出样例2:Merge Sort1 2 3 8 4 5 7 9 0 6分析...原创 2020-04-07 00:45:53 · 155 阅读 · 0 评论 -
PAT乙级 1034 有理数四则运算
题目:输入样例1:2/3 -4/2输出样例1:2/3 + (-2) = (-1 1/3)2/3 - (-2) = 2 2/32/3 * (-2) = (-1 1/3)2/3 / (-2) = (-1/3)输入样例2:5/3 0/6输出样例2:1 2/3 + 0 = 1 2/31 2/3 - 0 = 1 2/31 2/3 * 0 = 01 2/3 / 0 = Inf...原创 2020-04-06 00:30:42 · 120 阅读 · 0 评论 -
PAT乙级 1033 旧键盘打字
题目:输入样例:7+IE.7_This_is_a_test.输出样例:_hs_s_a_tst这道题可以遍历第一个字符串(坏掉的键)来做,代码如下(Python):broken, str0 = input(), input()for i in broken: if i == '+': # 如果坏键中有+,就删去str0中所有大写字母 for j in ...原创 2020-03-29 12:31:52 · 89 阅读 · 0 评论 -
PAT乙级 1030 完美数列
题目:输入样例:10 82 3 20 4 5 1 6 7 8 9输出样例:8分析:1.首先这道题不能从假设数列中最多所有的数可以构成完美数列开始,然后发现M>m*p后再进行排除(从大到小)。这样做每次要排除时因该排除哪个数?就算第一次排除对了,还是会对之后的判断产生影响,即后面的判断是不准的,最后结果肯定有对有错。2.最好还是从小到大判断是否能构成完美数列,先用vect...原创 2020-03-28 21:53:14 · 122 阅读 · 0 评论 -
PAT乙级 1028 人口普查
记录下解题思路,题型,代码题目:输入样例:5John 2001/05/12Tom 1814/09/06Ann 2121/01/30James 1814/09/05Steve 1967/11/20输出样例:3 Tom John这道题的关键是不要将出生日期当作整型来处理,应当作字符串处理。如果当作整型,就需要存取三个变量,并且需要写很多判断语句,有点繁琐,而字符串也能比较大小...原创 2020-03-28 14:22:28 · 162 阅读 · 0 评论 -
PAT乙级 1015 德才论
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:14 60 8010000001 64 9010000002 90 6010000011 85 8010000003 85 8010000004 80 8510000005 82 7710000006 83 7610000007 90 7810000008 75 7910000009 59 9010000010...原创 2020-03-28 00:11:54 · 110 阅读 · 0 评论 -
PAT乙级 1025 反转链表
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:00100 6 400000 4 9999900100 1 1230968237 6 -133218 3 0000099999 5 6823712309 2 33218输出样例:00000 4 3321833218 3 1230912309 2 0010000100 1 9999999999 5 68237...原创 2020-03-27 17:53:08 · 196 阅读 · 0 评论 -
PAT乙级 1024 科学计数法
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例1:+1.23400E-03输出样例1:0.00123400输入样例2:-1.2E+10输出样例2:-12000000000我试过先计算再考虑保留小数的问题,但很容易出错,而且逻辑上还找不出来,所以还是推荐用处理字符串的方法,考虑小数点的移位。代码如下(Python):a, x = input().split...原创 2020-03-24 21:48:16 · 106 阅读 · 0 评论 -
PAT乙级 1020 月饼
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:3 2018 15 1075 72 45输出样例:94.50代码如下(Python):species_number, demand = [int(x) for x in input().split()] # 月饼种类数,需求量inventory = [float(x) for x in input().split...原创 2020-03-23 18:03:27 · 83 阅读 · 0 评论 -
PAT乙级 1019 数字黑洞
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例1:6767输出样例1:7766 - 6677 = 10899810 - 0189 = 96219621 - 1269 = 83528532 - 2358 = 6174输入样例2:2222输出样例2:2222 - 2222 = 0000注意:1.题目中输入的是(0,10000)的数,不一定是4位数,如果不...原创 2020-03-22 13:11:06 · 131 阅读 · 0 评论 -
PAT乙级 1003 我要通过!
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:8PATPAATAAPATAAAAPAATAAAAxPATxPTWhateverAPAAATAA输出样例:YESYESYESYESNONONONO分析:符合条件的字符串必须只含P,A, T, 且P和T均只能有一个,至少含一个A,首先排除掉不符合上述条件的字符串,然后根据题中条件可以可以获得“...原创 2020-03-21 11:42:01 · 255 阅读 · 0 评论 -
PAT乙级 1093 字符串A+B
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:This is a sample testto show you_How it works输出样例:This ampletowyu_Hrk代码如下(Python):str0 = input() + input()str1 = ''for i in str0: if i not in str1: ...原创 2020-03-20 12:31:42 · 100 阅读 · 0 评论 -
PAT乙级 1092 最好吃的月饼
把当时的代码放出来,大家共同学习,互相帮助题目:月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。输入格式:输入首先给出两个正整数 N(≤1000)和 M(≤100),分别为月饼的种类数(于是默认月饼种类从 1 ...原创 2020-03-20 12:30:19 · 78 阅读 · 0 评论 -
PAT乙级 1091 N-自守数
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:392 5 233输出样例:3 253921 25No代码如下(Python):# PAT 1091M = int(input())num_list = map(int, input().split(' '))result_list = []for i in num_list: flag = Tru...原创 2020-03-20 12:28:12 · 71 阅读 · 0 评论 -
PAT乙级 1090 危险品装箱
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:6 320001 2000220003 2000420005 2000620003 2000120005 2000420004 200064 00001 20004 00002 200035 98823 20002 20003 20006 100103 12345 67890 23333输出样例:NoYes...原创 2020-03-20 12:25:02 · 60 阅读 · 0 评论 -
PAT乙级 1087 有多少不同的值
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:2017输出样例:1480代码如下(Python):N = int(input())lst = []for i in range(1, N+1): t1 = i//2 t2 = i//3 t3 = i//5 lst.append(t1+t2+t3)print(len(list(set...原创 2020-03-20 12:22:30 · 82 阅读 · 0 评论 -
PAT乙级 1086 就不告诉你
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:5 7输出样例:53这题很简单,就是标题和题目也太皮了吧,哈哈哈哈代码如下(Python):x, y = input().split()x = int(x)y = int(y)n = str(x * y)[::-1]print(int(n))...原创 2020-03-20 12:21:17 · 96 阅读 · 0 评论 -
PAT乙级 1083 是否存在相等的差
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:83 5 8 6 2 1 4 7输出样例:5 23 32 2代码如下(Python):n = int(input())order = list(map(int, input().split()))result = {}for i in range(1, n + 1): x = abs(order[i ...原创 2020-03-20 12:14:58 · 89 阅读 · 0 评论 -
PAT乙级 1082 射击比赛
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:30001 5 71020 -1 30233 0 -1输出样例:0233 0001代码如下(Python):n = int(input())result = []number = []for i in range(n): x, y, z = input().split() y = int(y)...原创 2020-03-20 12:13:24 · 74 阅读 · 0 评论 -
PAT乙级 1077 互评成绩计算
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:6 5042 49 49 35 38 4136 51 50 28 -1 3040 36 41 33 47 4930 250 -25 27 45 3148 0 0 50 50 123443 41 36 29 42 29输出样例:423341313739代码如下(Python):info = list(m...原创 2020-03-20 12:10:40 · 89 阅读 · 0 评论 -
PAT乙级 1076 Wifi密码
把当时的代码放出来,大家共同学习,互相帮助题目:下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码...原创 2020-03-20 12:09:04 · 131 阅读 · 0 评论 -
PAT乙级 1074 宇宙无敌加法器
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:3052706203415输出样例:7201代码如下(Python):regulation = [int(x) for x in input()[::-1]]n = int(input())m = int(input())if m > n: temp = m m = n n = t...原创 2020-03-20 12:02:58 · 125 阅读 · 0 评论 -
PAT乙级 1072 开学寄语
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:4 22333 6666CYLL 3 1234 2345 3456U 4 9966 6666 8888 6666GG 2 2333 7777JJ 3 0012 6666 2333输出样例:U: 6666 6666GG: 2333JJ: 6666 23333 5代码如下(Python):x, y = [in...原创 2020-03-20 12:01:32 · 90 阅读 · 0 评论 -
PAT乙级 1071 小赌怡情
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例1:100 48 0 100 23 1 50 15 1 200 67 0 200 8输出样例1:Win 100! Total = 200.Lose 50. Total = 150.Not enough tokens. Total = 150.Not enough tokens. Total = 150....原创 2020-03-20 11:59:45 · 78 阅读 · 0 评论 -
PAT乙级 1069 微博转发抽奖
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例1:9 3 2Imgonnawin!PickMePickMeMeMeeeLookHereImgonnawin!TryAgainAgainTryAgainAgainImgonnawin!TryAgainAgain输出样例1:PickMeImgonnawin!TryAgainAgain输入样例2:2 3 ...原创 2020-03-20 10:26:55 · 83 阅读 · 0 评论 -
PAT乙级 1066 图像过滤
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:3 5 100 150 03 189 254 101 119150 233 151 99 10088 123 149 0 255输出样例:003 189 254 000 000000 233 151 099 000088 000 000 000 255代码如下(Python):n = list(map(int,...原创 2020-03-20 10:24:44 · 54 阅读 · 0 评论 -
PAT乙级 1064 朋友数
PAT乙级 1064 朋友数把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:8123 899 51 998 27 33 36 12输出样例:43 6 9 26代码如下(Python):# PAT 1064num_count = int(input())number_lst = input().split(' ')friend_numb_lst = []f...原创 2020-03-20 10:23:32 · 74 阅读 · 0 评论 -
PAT乙级 1063 计算谱半径
把当时的代码放出来,大家共同学习,互相帮助题目:输入样例:50 12 0-1 03 30 -3输出样例:4.24代码如下(Python):import mathr_list = []complex_number = int(input())for i in range(complex_number): Complex = input().split(' ...原创 2020-03-20 10:22:31 · 84 阅读 · 0 评论