![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PTA-乙级
不慌吃口药-
菜鸡垂死挣扎中…
展开
-
PTA 乙级——1064 朋友数 C++实现
题目 朋友数如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。输入格式:输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 10410^410...原创 2019-12-18 21:43:47 · 186 阅读 · 0 评论 -
PTA 乙级——1063 计算谱半径 C++实现
题目 计算谱半径在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 nnn 个复数空间的特征值 { a1+b1i,⋯,an+bnia_1+b_1i,⋯,a_n+b_nia1+b1i,⋯,an+bni },它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱...原创 2019-12-18 21:38:43 · 272 阅读 · 1 评论 -
PTA 乙级——1062 最简分数 C++实现
题目 最简分数一个分数一般写成两个整数相除的形式:N/MN/MN/M,其中 MMM 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1/M1N_1/M_1N1/M1和 N2/M2N_2/M_2N2/M2,要求你按从小到大的顺序列出它们之间分母为 KKK 的最简分数。输入格式:输入在一行中按 N/MN/MN/M 的格式给出...原创 2019-12-18 21:26:45 · 374 阅读 · 0 评论 -
PTA 乙级——1061 判断题 C++实现
判断题判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。输入格式:输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。输出格式:按照输入的顺序...原创 2019-12-18 21:16:08 · 164 阅读 · 0 评论 -
PTA 乙级——1060 爱丁顿数 C++实现
题目英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” EEE ,即满足有 EEE 天骑车超过$ E$ 英里的最大整数 EEE。据说爱丁顿自己的 EEE 等于87。现给定某人 NNN 天的骑车距离,请你算出对应的爱丁顿数E(≤N)E(≤N)E(≤N)。输入格式:输入第一行给出一个正整数 N(≤105N (≤10^5N(≤105),即连续骑车的天数;...原创 2019-12-18 21:13:24 · 106 阅读 · 0 评论 -
PTA 乙级——1055 集体照 C++实现
题目 集体照拍集体照时队形很重要,这里对给定的 NNN 个人 KKK 排的队形设计排队规则如下:每排人数为 N/KN/KN/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为m/2+1m/2+1m/2+1,其中 mmm 为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人...原创 2019-12-18 20:50:46 · 132 阅读 · 1 评论 -
PTA 乙级——1059 C语言竞赛 C++实现
题目 C语言竞赛C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛。既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽:0、冠军将赢得一份“神秘大奖”(比如很巨大的一本学生研究论文集……)。1、排名为素数的学生将赢得最好的奖品 —— 小黄人玩偶!2、其他人将得到巧克力。给定比赛的最终排名以及一系列参赛者的 ID,你要给出这些参赛者应该获得的奖品。输入格式:输入第一行给出一个正整数...原创 2019-11-09 17:02:45 · 195 阅读 · 0 评论 -
PTA 乙级——1057 数零壹 C++实现
题目 数零壹给定一串长度不超过 10510^5105的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1...原创 2019-11-09 16:59:19 · 171 阅读 · 0 评论 -
PTA 乙级——1056 组合数的和 C++实现
1056 组合数的和给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式:输入在一行中先给出 N(1 < N < 10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格式:输出所有可能...原创 2019-11-09 16:56:08 · 158 阅读 · 1 评论 -
PTA 乙级——1054 求平均值 C++实现
题目本题的基本要求非常简单:给定 N 个实数,计算它们的平均值。但复杂的是有些输入数据可能是非法的。一个“合法”的输入是 [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。当你计算平均值的时候,不能把那些非法的数据算在内。输入格式:输入第一行给出正整数 N(≤100)。随后一行给出 N 个实数,数字间以一个空格分隔。输出格式:对每个非法输入,在一行中输出 ERROR...原创 2019-11-09 16:54:15 · 154 阅读 · 0 评论 -
PTA 乙级——1053 住房空置率 C++实现
题目 住房空置率在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:在观察期内,若存在超过一半的日子用电量低于某给定的阈值 eee,则该住房为“可能空置”;若观察期超过某给定阈值 DDD 天,且满足上一个条件,则该住房为“空置”。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套...原创 2019-10-31 17:47:56 · 127 阅读 · 0 评论 -
PTA 乙级——1052 卖个萌 C++实现
题目 卖个萌萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[ 左 手 ]([ 左 眼 ][ 口] [ 右 眼 ])[ 右 手 ]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号 []内。题目保证每个集合都至少有一个符号,并不超过 10...原创 2019-10-30 19:18:05 · 266 阅读 · 0 评论 -
PTA 乙级——1051 复数乘法 C++实现
题目 复数乘法复数可以写成 (A+Bi)(A+Bi)(A+Bi) 的常规形式,其中AAA 是实部,BBB 是虚部,iii 是虚数单位,满足 i2=−1i^{2}=-1i2=−1;也可以写成极坐标下的指数形式(R×e(Pi))(R×e^{(Pi)})(R×e(Pi)),其中 RRR 是复数模,PPP 是辐角,iii 是虚数单位,其等价于三角形式 R(cos(P)+isin(P))R(cos(P)...原创 2019-10-30 19:08:51 · 277 阅读 · 0 评论 -
PTA 乙级——1050 螺旋矩阵 C++实现
题目 螺旋矩阵本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 10^4,相邻数字以空格分隔。...原创 2019-10-30 19:00:32 · 332 阅读 · 0 评论 -
PTA 乙级——1049 数列的片段和 C++实现
题目给定一个正数数列,我们可以从中截取任意的连续的几个数,称为片段。例如,给定数列 { 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-10-27 22:35:05 · 307 阅读 · 0 评论 -
PTA 乙级——1048 数字加密 C++实现
题目 数字加密本题要求实现一种数字加密方法。首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余——这里用 J 代表 10、Q 代表 11、K 代表 12;对偶数位,用 B 的数字减去 A 的数字,若结果为负数,则再加 10。这里令个位为第 1 位。输入格式:输入在一行中依次给出 A 和 B,均为...原创 2019-10-27 22:28:52 · 329 阅读 · 0 评论 -
PTA 乙级——1047 编程团体赛 C++实现
题目 编程团体赛编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。输入格式:输入第一行给出一个正整数 N(≤10^4),即所有参赛队员总数。随后 N 行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩其中队伍编号为 1 到 1000 的正整数,队员编号为...原创 2019-10-25 21:54:22 · 1090 阅读 · 0 评论 -
PTA 乙级——1046 划拳 C++实现
1046 划拳划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。输入格式:输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮...原创 2019-10-25 21:03:48 · 113 阅读 · 0 评论 -
PTA 乙级——1045 快速排序 C++实现
著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 N=5N = 5N=5, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能是主元;尽管 3 的左边元素都比它小,但...原创 2019-10-25 21:00:40 · 214 阅读 · 0 评论 -
PTA 乙级——1044 火星数字 C++实现
1044 火星数字火星人是以 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,...原创 2019-10-25 20:50:03 · 188 阅读 · 0 评论 -
PTA 乙级——1043 输出PATest C++实现
题目 输出PATest给定一个长度不超过 10^4 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest… 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。输入格式:输入在一行中给出一个长度不超过 10^4的、仅由英文字母构成的非空字符串。输...原创 2019-10-25 20:32:56 · 244 阅读 · 0 评论 -
PTA 乙级——1042 字符统计 C++实现
题目 字符统计请编写程序,找出一段给定文字中出现最频繁的那个英文字母。输入格式:输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。输出格式:在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字...原创 2019-10-19 22:07:03 · 186 阅读 · 0 评论 -
PTA 乙级——1041 考试座位号 C++实现
题目 考试座位号每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数 N(≤1000),随后 N...原创 2019-10-19 22:04:03 · 242 阅读 · 0 评论 -
PTA 乙级——1040 有几个PAT C++实现
字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?输入格式:输入只有一行,包含一个字符串,长度不超过10^5,只包含 P、A、T 三种字母。输出格式:在一行中输出给定字符串中包含多少个 PAT。由于结果...原创 2019-10-19 16:39:45 · 205 阅读 · 0 评论 -
PTA 乙级——1039 到底买不买 C++实现
1039 到底买不买小红想买些珠子做一串自己喜欢的珠串。卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖。于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子;如果不是,那么告诉她缺了多少珠子。为方便起见,我们用[0-9]、[a-z]、[A-Z]范围内的字符来表示颜色。例如在图1中,第3串是小红想做的珠串;那么第1串可以买,因为包含...原创 2019-10-19 15:07:28 · 81 阅读 · 0 评论 -
PTA 乙级——1038 统计同成绩学生 C++实现
1038 统计同成绩学生本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出。输入格式:输入在第 1 行给出不超过 10^5的正整数 N,即学生总人数。随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔。最后一行给出要查询的分数个数 K(不超过 N 的正整数),随后是 K 个分数,中间以空格分隔。输出格式:在一行中按查询顺序给出得分等于指定分数的学生人数,中间以空...原创 2019-10-18 22:12:01 · 212 阅读 · 0 评论 -
PTA 乙级——1037 在霍格沃茨找零钱 C++实现
1037 在霍格沃茨找零钱如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 —— 就如海格告诉哈利的:“十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳特(Knut)兑一个西可,很容易。”现在,给定哈利应付的价钱 P 和他实付的钱 A,你的任务是写一个程序来计算他应该被找的零钱。输入格式:输入在 1 行中分别给出 P 和 A,格式为 Galleon.Sickle....原创 2019-10-18 21:57:17 · 187 阅读 · 0 评论 -
PTA 乙级——1036 跟奥巴马一起编程 C++实现
题目 跟奥巴马一起编程美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014 年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长 N(3≤N≤20)和组成正方形边的某种字符 C,间隔一个空格。输出格式:输出由给定字符 C 画出的...原创 2019-10-17 21:56:26 · 188 阅读 · 0 评论 -
PTA 乙级——1035 插入与归并 C++实现
题目 插入与归并根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序...原创 2019-10-17 21:52:36 · 253 阅读 · 0 评论 -
PTA 乙级——1034 有理数四则运算 C++实现
题目 有理数四则运算本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简...原创 2019-10-16 18:12:01 · 498 阅读 · 0 评论 -
PTA 乙级——1033 旧键盘打字 C++实现
题目 旧键盘打字旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 10^5 个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、...原创 2019-10-15 21:58:42 · 169 阅读 · 0 评论 -
PTA 乙级——1024 科学计数法 C++实现
题目 科学计数法科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一...原创 2019-09-29 21:57:37 · 256 阅读 · 0 评论 -
PTA 乙级——1008数组元素循环右移问题 C++实现 (取模&取余)
题目一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?代码#include <iostream...原创 2019-09-25 00:54:32 · 299 阅读 · 0 评论 -
PTA 乙级——1032 挖掘机技术哪家强 C++实现
题目 挖掘机技术哪家强为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第 1 行给出不超过 10^5 的正整数 N,即参赛人数。随后 N 行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从 1 开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学...原创 2019-10-04 16:01:33 · 127 阅读 · 0 评论 -
PTA 乙级——1014 福尔摩斯的约会 C++实现
大侦探福尔摩斯接到一张奇怪的字条:我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字...原创 2019-09-26 21:36:39 · 158 阅读 · 0 评论 -
PTA 乙级——1013 数素数 C++实现
题目令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 19 23 29 31...原创 2019-09-26 21:16:50 · 174 阅读 · 0 评论 -
PTA 乙级——1012 数字分类 C++实现
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1 = 能被 5 整除的数字中所有偶数的和;A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯;A3 = 被 5 除后余 2 的数字的个数;A4 = 被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A5 = 被 ...原创 2019-09-26 00:38:33 · 165 阅读 · 0 评论 -
PTA 乙级——1011 A+B 和 C C++实现
给定区间 [−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,...原创 2019-09-26 00:30:30 · 183 阅读 · 0 评论 -
PTA 乙级——1010 一元多项式求导 C++实现
题目设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 4 -5 ...原创 2019-09-26 00:08:29 · 353 阅读 · 1 评论 -
PTA 乙级——1009 说反话 C++实现
题目 说反话给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World He...原创 2019-09-25 23:59:37 · 390 阅读 · 0 评论