PAT (Basic Level)
记录PAT乙级刷题
KAKUNIN_
伤痛之末,涅槃之始
展开
-
B1006 换个格式输出整数(python)
num = int(input())bai = num//100shi = num%100//10ge = num%10print(bai*'B'+shi*'S'+''.join(map(str,range(1,ge+1))))原创 2021-07-20 09:34:16 · 113 阅读 · 0 评论 -
B1008 数组元素循环右移问题(python)
n, qieta = map(int, input().split())ls = list(input().split())ls1 = ls[:-qieta]ls2 = ls[-qieta:]flag = Falsefor d in (ls2+ls1): print((' ' if flag == True else '') + "{}".format(d), end = '') flag = True原创 2021-01-13 16:12:03 · 218 阅读 · 1 评论 -
B1002 写出这个数(python)
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100 。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu要点1 建立数字拼音列表方便后续查询2 将输入数字序列求和并字符串化便于索引3 这里还有一个注意点原创 2021-01-12 09:57:47 · 205 阅读 · 1 评论 -
B1001 害死人不偿命的(3n+1)猜想(python)
1001 害死人不偿命的(3n+1)猜想 (15分)卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想原创 2021-01-12 09:26:58 · 85 阅读 · 1 评论 -
B1095 解码PAT准考证(python)
1095 解码PAT准考证 (25分)PAT 准考证号由 4 部分组成:第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级;第 2~4 位是考场编号,范围从 101 到 999;第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位;最后 11~13 位是考生编号,范围从 000 到 999。现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。输入...原创 2020-04-30 08:54:41 · 351 阅读 · 0 评论 -
B1094 谷歌的招聘(python)
1094 谷歌的招聘 (20分)2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。自然常数 e 是一个著名的超越数,前面若干位写出来是这样的:...原创 2020-04-27 16:23:56 · 273 阅读 · 0 评论 -
B1093 字符串A+B(python)
1093 字符串A+B (20分)给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。输入格式:输入在两行中分别给出 A 和 B,均为长度不超过 106 的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中输出题面要求的 A 和 B 的和。输入样例:T...原创 2020-04-27 15:45:27 · 494 阅读 · 0 评论 -
B1092 最好吃的月饼(python)
1092 最好吃的月饼 (20分)月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。输入格式:输入首先给出两个正整数 N(≤1000)和 M(≤100),分别为月饼的种类数(于是默认月饼种类从 1 到 N 编号)...原创 2020-04-27 15:16:48 · 188 阅读 · 0 评论 -
B1091 N-自守数(python)
1091 N-自守数 (15分)如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”。例如 3×922 =25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守数。本题就请你编写程序判断一个给定的数字是否关于某个 N 是 N-自守数。输入格式:输入在第一行中给出正整数 M(≤20),随后一行给出 M 个待检测的、不超过 1...原创 2020-04-27 15:01:19 · 454 阅读 · 0 评论 -
B1090 危险品装箱(python)
1090 危险品装箱 (25分)集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式:输入第一行给出两个正整数:N (≤104 ) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数。随后数据分...原创 2020-04-27 14:27:31 · 415 阅读 · 0 评论 -
B1088 三人行(python)
1088 三人行 (20分)子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X ...原创 2020-04-26 08:48:53 · 326 阅读 · 0 评论 -
B1087 有多少不同的值(python)
1087 有多少不同的值 (20分)当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)输入格式:输入给出一个正整数 N(2≤N≤104 )。输出格式:在一行中输出题面中算式取到的不同值的个数。输入样例:2017输出样例:1480versi...原创 2020-04-26 07:57:53 · 149 阅读 · 0 评论 -
B1086 就不告诉你(python)
1086 就不告诉你 (15分)做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53AC分析:这题考了个寂寞????...原创 2020-04-25 10:45:58 · 309 阅读 · 0 评论 -
B1085 PAT单位排行(python)
1085 PAT单位排行 (25分)每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一个正整数 N(≤105 ),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息:准考证号 得分 学校其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0, 100...原创 2020-04-24 11:06:48 · 221 阅读 · 0 评论 -
B1084 外观数列(python)
1084 外观数列 (20分)外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, …它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 ...原创 2020-04-24 10:07:57 · 499 阅读 · 0 评论 -
B1083 是否存在相等的差(python)
1083 是否存在相等的差 (20分)给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式:输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。...原创 2020-04-24 08:41:46 · 363 阅读 · 0 评论 -
B1082 射击比赛(python)
1082 射击比赛 (20分)本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。输入格式:输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出:ID x y其中 ID 是运动员的编号(由 4 位数字组成);x 和...原创 2020-04-24 07:57:23 · 495 阅读 · 0 评论 -
B1081 检查密码(python)
1081 检查密码 (15分)本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。输入格式:输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。输出格式:对每个用户的密码,在一行中输出...原创 2020-04-23 23:12:52 · 1188 阅读 · 0 评论 -
B1080 MOOC期终成绩(python)
1080 MOOC期终成绩 (25分)对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为 G=(Gmid−term ×40%+Gfinal ×60%),如果 Gmid−term >Gfin...原创 2020-04-20 16:24:46 · 487 阅读 · 0 评论 -
B1079 延迟的回文数(python)
1079 延迟的回文数 (20分)给定一个 k+1 位的正整数 N,写成 ak ⋯a1 a0 的形式,其中对所有 i 有 0≤ai <10 且 ak >0。N 被称为一个回文数,当且仅当对所有 i 有 ai =ak-i 。零也被定义为一个回文数。非回文数也可以通过一系列操作变出回文数。首先将该数字逆转,再将逆转数与该数相加,如果和还不是一...原创 2020-04-20 14:53:58 · 175 阅读 · 0 评论 -
B1078 字符串压缩与解压(python)
1078 字符串压缩与解压 (20分)文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们...原创 2020-04-20 12:09:52 · 1076 阅读 · 0 评论 -
B1077 互评成绩计算(python)
1077 互评成绩计算 (20分)在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1 ;老师给这个组的评分记为 G2 。该组得分为 (G1 +G2 )/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助...原创 2020-04-20 11:37:00 · 472 阅读 · 0 评论 -
B1076 Wifi密码(python)
1076 Wifi密码 (15分)下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道...原创 2020-04-20 11:19:36 · 414 阅读 · 0 评论 -
B1074 宇宙无敌加法器(python)
1074 宇宙无敌加法器 (20分)地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是...原创 2020-04-19 10:53:34 · 423 阅读 · 0 评论 -
B1072 开学寄语(python)
1072 开学寄语 (20分)下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器。输入格式:输入第一行给出两个正整数 N(≤ 1000)和 M(≤ ...原创 2020-04-18 21:24:01 · 141 阅读 · 0 评论 -
B1071 小赌怡情(python)
1071 小赌怡情 (15分)常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。输入格式:输入在第一行给出 2 个正整数...原创 2020-04-18 21:04:19 · 202 阅读 · 0 评论 -
B1070 结绳(python)
1070 结绳 (25分)给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。rope.jpg给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N...原创 2020-04-18 20:19:33 · 169 阅读 · 0 评论 -
B1069 微博转发抽奖(python)
1069 微博转发抽奖 (20分)小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式:输入第一行给出三个正整数 M(≤ 1000)、N 和 S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从 1 开始)。随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符、不包...原创 2020-04-17 11:56:03 · 170 阅读 · 0 评论 -
B1068 万绿丛中一点红(python)
1068 万绿丛中一点红 (20分)对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。输入格式:输入第一行给出三个正整数,分别是 M 和 N(≤ 1000),即图像的分辨率;以及 TOL,是所求像素点与相邻点的颜色差阈值,色差超过 TOL...原创 2020-04-17 11:14:25 · 446 阅读 · 3 评论 -
B1067 试密码(python)
1067 试密码 (20分)当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式:输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有...原创 2020-04-17 10:39:03 · 230 阅读 · 0 评论 -
B1066 图像过滤(python)
1066 图像过滤 (15分)图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式:输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M 行,每行...原创 2020-04-17 10:24:49 · 240 阅读 · 0 评论 -
B1065 单身狗(python)
1065 单身狗 (25分)“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 ...原创 2020-04-16 11:18:35 · 322 阅读 · 0 评论 -
B1064 朋友数(python)
1064 朋友数 (20分)如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 10...原创 2020-04-16 10:45:27 · 197 阅读 · 0 评论 -
B1063 计算谱半径(python)
1063 计算谱半径 (20分)在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a1 +b1 i,⋯,an +bn i },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。输入格式:输入第一行给出正整数 N(≤ 10 000)是输入的特...原创 2020-04-16 10:32:43 · 299 阅读 · 0 评论 -
B1061 判断题(python)
1061 判断题 (15分)判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。输出...原创 2020-04-08 23:30:02 · 416 阅读 · 0 评论 -
B1059 C语言竞赛(python)
1059 C语言竞赛 (20分)C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!2、其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行给...原创 2020-04-08 22:43:49 · 191 阅读 · 0 评论 -
B1057 数零壹(python)
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 ...原创 2020-04-06 10:52:18 · 226 阅读 · 0 评论 -
B1056 组合数的和(python)
1056 组合数的和 (15分)给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式:输入在一行中先给出 N(1 < N < 10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格式:...原创 2020-04-06 10:10:21 · 704 阅读 · 0 评论 -
B1054 求平均值(python)
1054 求平均值 (20分)本题的基本要求非常简单:给定 N 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数 N(≤100)。随后一行给出 N 个实数,数字间以一个空格分隔。输出格式:对每个非法输入...原创 2020-04-04 22:50:35 · 295 阅读 · 0 评论 -
B1053 住房空置率(python)
1053 住房空置率 (20分)在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为“可能空置”;若观察期超过某给定阈值 D 天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房...原创 2020-04-04 22:10:37 · 217 阅读 · 0 评论