PAT 乙级习题
一蓑烟雨荏平生
热爱生活,热爱编程。
展开
-
PTA 乙级1046划拳
1046 划拳#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){int n;scanf("%d",&n);int a1,a2,b1,b2;int tim1=0,tim2=0;int i,j;int sum;for(i=0;i<n;i++){ s...原创 2019-09-03 22:20:38 · 145 阅读 · 0 评论 -
PTA 乙级1060 爱丁顿数 (25 分)
1060 爱丁顿数 (25 分)英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。输入格式:输入第一行给出一个正整数 N (≤105 ),即连续骑车的天数;第二行给出 N 个非负整数,代表每天...原创 2019-09-05 16:59:27 · 186 阅读 · 0 评论 -
PTA 乙级1061 判断题 (15 分)
1061 判断题 (15 分)判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。输...原创 2019-09-05 17:13:20 · 304 阅读 · 0 评论 -
PTA 乙级1062 最简分数 (20 分)
1062 最简分数 (20 分)一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1 /M1 和 N2 /M2,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。输入格式:输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔。题目保证给出的所有整...原创 2019-09-05 19:43:21 · 243 阅读 · 0 评论 -
PTA 乙级1063 计算谱半径 (20 分)
1063 计算谱半径 (20 分)在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a1 +b1i,⋯,an+bn i },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。输入格式:输入第一行给出正整数 N(≤ 10 000)是输入的特征值的个数。随后 ...原创 2019-09-05 19:56:44 · 136 阅读 · 0 评论 -
PTA 乙级1064 朋友数 (20 分)
1064 朋友数 (20 分)如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 10...原创 2019-09-05 21:20:48 · 279 阅读 · 0 评论 -
PTA 乙级1065 单身狗 (25 分)
1065 单身狗 (25 分)“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。输入格式:输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10...原创 2019-09-05 22:45:17 · 392 阅读 · 0 评论 -
PTA 乙级1066 图像过滤 (15 分)
1066 图像过滤 (15 分)图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。输入格式:输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M 行,每...原创 2019-09-06 18:03:20 · 221 阅读 · 0 评论 -
PTA 乙级1067 试密码 (20 分)
1067 试密码 (20 分)当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式:输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少...原创 2019-09-06 18:23:14 · 287 阅读 · 0 评论 -
PTA 乙级1068 万绿丛中一点红 (20 分)
1068 万绿丛中一点红 (20 分)对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。输入格式:输入第一行给出三个正整数,分别是 M 和 N(≤ 1000),即图像的分辨率;以及 TOL,是所求像素点与相邻点的颜色差阈值,色差超过 TO...原创 2019-09-07 15:10:48 · 313 阅读 · 0 评论 -
PTA 乙级1059 C语言竞赛 (20 分)
1059 C语言竞赛 (20 分)C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!2、其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行...原创 2019-09-05 16:32:44 · 249 阅读 · 0 评论 -
PTA 乙级1058 选择题 (20 分)
1058 选择题 (20 分)批改多选题是比较麻烦的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选...原创 2019-09-05 16:05:36 · 267 阅读 · 0 评论 -
PTA 乙级1047 编程团体赛
1047 编程团体赛代码思路:用数组编号做为小队下标,数组的值作为小队成绩,每次输入都和最大成绩比较并记录最大成绩的#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ int n; scanf("%d",&n); int a[1005]={0};...原创 2019-09-03 22:21:27 · 1676 阅读 · 0 评论 -
PTA 乙级1048数字加密
1048 数字加密代码思路:要注意的是如果第一串字符大于第二串字符,#include<stdio.h>#include<stdlib.h>#include<string.h>char flag[15]={'0','1','2','3','4','5','6','7','8','9','J','Q','K'};int main(){ char ...原创 2019-09-03 22:22:05 · 827 阅读 · 0 评论 -
PTA乙级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...原创 2019-09-03 22:38:24 · 352 阅读 · 0 评论 -
PTA 1050 螺旋矩阵 (25 分)
1050 螺旋矩阵 (25 分)本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 10^4 ,相邻...原创 2019-09-04 11:21:15 · 1010 阅读 · 0 评论 -
PTA 乙级1051 复数乘法 (15 分)
1051 复数乘法 (15 分)复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i^2 =−1;也可以写成极坐标下的指数形式 (R×e ^(Pi) ),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 R(cos§+isin§)。现给定两个复数的 R 和 P,要求输出两数乘积的常规形式。输入格式:输入在一行中依次给出两个...原创 2019-09-07 17:49:42 · 425 阅读 · 0 评论 -
PTA 乙级1053 住房空置率 (20 分)
1053 住房空置率 (20 分)在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为“可能空置”;若观察期超过某给定阈值 D 天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住...原创 2019-09-04 17:32:55 · 204 阅读 · 0 评论 -
PTA 乙级1054 求平均值 (20 分)
1054 求平均值 (20 分)本题的基本要求非常简单:给定 N 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数 N(≤100)。随后一行给出 N 个实数,数字间以一个空格分隔。输出格式:对每个非法输...原创 2019-09-05 09:38:44 · 145 阅读 · 0 评论 -
PTA 乙级1055 集体照 (25 分)
1055 集体照 (25 分)拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下:每排人数为 N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、18...原创 2019-09-05 15:11:42 · 206 阅读 · 0 评论 -
PTA 乙级1057 数零壹 (20 分)
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...原创 2019-09-05 15:26:01 · 172 阅读 · 0 评论 -
PTA乙级1069 微博转发抽奖 (20 分)
1069 微博转发抽奖 (20 分)小明 PAT 考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔 N 个人就发出一个红包。请你编写程序帮助他确定中奖名单。输入格式:输入第一行给出三个正整数 M(≤ 1000)、N 和 S,分别是转发的总量、小明决定的中奖间隔、以及第一位中奖者的序号(编号从 1 开始)。随后 M 行,顺序给出转发微博的网友的昵称(不超过 20 个字符、不...原创 2019-09-07 15:28:33 · 283 阅读 · 0 评论 -
PTA 乙级1070 结绳 (25 分)
1070 结绳 (25 分)给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (2≤N≤10...原创 2019-09-07 15:30:38 · 234 阅读 · 0 评论 -
PTA 乙级1071 小赌怡情 (15 分)
1071 小赌怡情 (15 分)常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。输入格式:输入在第一行给出 2 个正整...原创 2019-09-07 15:36:57 · 190 阅读 · 0 评论 -
PTA 乙级1085 PAT单位排行 (25 分) 测试点5
1085 PAT单位排行 (25 分)每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一个正整数 N(≤105 ),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息:准考证号 得分 学校其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0, 10...原创 2019-09-22 21:23:36 · 1081 阅读 · 1 评论 -
PTA 乙级1086 就不告诉你 (15 分)
1086 就不告诉你 (15 分)输入格式:输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在一行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53#include<stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); long c,d; c=...原创 2019-09-23 17:57:32 · 419 阅读 · 0 评论 -
PTA 乙级1087 有多少不同的值 (20 分)
1087 有多少不同的值 (20 分)当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)输入格式:输入给出一个正整数 N(2≤N≤104)。输出格式:在一行中输出题面中算式取到的不同值的个数。输入样例:2017输出样例:1480#includ...原创 2019-09-24 19:31:02 · 134 阅读 · 0 评论 -
PTA 乙级1088 三人行 (20 分)
1088 三人行 (20 分)子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X...原创 2019-09-25 17:01:38 · 283 阅读 · 0 评论 -
PTA 乙级1089 狼人杀-简单版 (20 分) C语言实现,超详细解析
1089 狼人杀-简单版 (20 分)以下文字摘自《灵机一动·好玩的数学》:“狼人杀”游戏分为狼人、好人两大阵营。在一局“狼人杀”游戏中,1 号玩家说:“2 号是狼人”,2 号玩家说:“3 号是好人”,3 号玩家说:“4 号是狼人”,4 号玩家说:“5 号是好人”,5 号玩家说:“4 号是好人”。已知这 5 名玩家中有 2 人扮演狼人角色,有 2 人说的不是实话,有狼人撒谎但并不是所有狼人都在撒...原创 2019-09-26 17:53:32 · 868 阅读 · 1 评论 -
PTA 乙级1091 N-自守数 (15 分)
1091 N-自守数 (15 分)如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”。例如 3×92^2 =25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守数。本题就请你编写程序判断一个给定的数字是否关于某个 N 是 N-自守数。输入格式:输入在第一行中给出正整数 M(≤20),随后一行给出 M 个待检测的...原创 2019-10-01 20:17:20 · 259 阅读 · 0 评论 -
PTA 乙级 1092 最好吃的月饼 (20 分)
1092 最好吃的月饼 (20 分)#include<iostream>#include<algorithm>using namespace std;struct Yu{ int num[2000];};int main(){ int n,m; cin>>n>>m; Yu yue[m+1]; int i,j; int nu...原创 2019-10-03 14:35:46 · 233 阅读 · 0 评论 -
1093 PTA 乙级字符串A+B (20 分)
1093 字符串A+B (20 分)给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。输入格式:输入在两行中分别给出 A 和 B,均为长度不超过 106 的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中输出题面要求的 A 和 B 的和。输...原创 2019-10-03 21:19:07 · 168 阅读 · 0 评论 -
PTA 乙级1094 谷歌的招聘 (20 分)
#include<stdio.h>#include<stdlib.h>#include<math.h>int isp(int t);int main(){ int l,k; char num[2000]; scanf("%d %d",&l,&k); getchar(); int i,j; ...原创 2019-10-05 14:31:33 · 843 阅读 · 1 评论 -
PTA 乙级1084 外观数列 (20 分)
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...原创 2019-09-21 15:04:37 · 215 阅读 · 0 评论 -
PTA 乙级1083 是否存在相等的差 (20 分)
1083 是否存在相等的差 (20 分)给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?输入格式:输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字...原创 2019-09-19 16:59:53 · 150 阅读 · 0 评论 -
PTA 乙级1072 开学寄语 (20 分)
1072 开学寄语 (20 分)输入格式:输入第一行给出两个正整数 N(≤ 1000)和 M(≤ 6),分别是学生人数和需要被查缴的物品种类数。第二行给出 M 个需要被查缴的物品编号,其中编号为 4 位数字。随后 N 行,每行给出一位学生的姓名缩写(由 1-4 个大写英文字母组成)、个人物品数量 K(0 ≤ K ≤ 10)、以及 K 个物品的编号。输出格式:顺次检查每个学生携带的物品,如果...原创 2019-09-07 16:29:19 · 216 阅读 · 0 评论 -
PTA 乙级1074 宇宙无敌加法器 (20 分)
1074 宇宙无敌加法器 (20 分)地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者...原创 2019-09-12 20:27:06 · 126 阅读 · 0 评论 -
PTA 乙级1075 链表元素分类 (25 分)
1075 链表元素分类 (25 分)给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式:每个输入包含一个测试用...原创 2019-09-12 20:27:17 · 216 阅读 · 0 评论 -
PTA 1076 1076 Wifi密码 (15 分)
1076 Wifi密码 (15 分)下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每...原创 2019-09-13 17:24:28 · 1655 阅读 · 2 评论 -
PTA 1077 互评成绩计算 (20 分)
1077 互评成绩计算 (20 分)在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1;老师给这个组的评分记为 G2 。该组得分为 (G1 +G2 )/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师...原创 2019-09-13 17:24:46 · 525 阅读 · 0 评论