![](https://img-blog.csdnimg.cn/20210207154528755.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
PAT
~
小渝同学
一人一晚一奇迹 尸体竟是我自己
展开
-
PAT乙 1070 结绳 (25分)(C C++)
【题目描述】给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。【输入】每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (2≤N≤104 );第 2 行给出 N 个正整数,即原始绳段的长度,数字间以空格分隔。所有整数都不超过104 。【输出】在一行原创 2020-12-28 14:46:38 · 82 阅读 · 0 评论 -
PAT乙 1018 锤子剪刀布 (20分)(C C++)
【题目描述】大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。【输入】输入第 1 行给出正整数 N(≤105 ),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代表“布”,第 1 个字母代表甲方,第 2 个代表乙方,中间有 1 个空格。【输出】输出第 1、2 行分别给出甲、乙的胜、平、负次数,数字间以原创 2020-12-14 09:12:54 · 86 阅读 · 0 评论 -
PAT乙 1017 A除以B (20分)(C C++)
【题目描述】本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。【输入】输入在一行中依次给出 A 和 B,中间以 1 空格分隔。【输出】在一行中依次输出 Q 和 R,中间以 1 空格分隔。【输入样例】123456789050987654321 7【输出样例】17636684150141093474 3【代码】#include <iostream>#include <cstr原创 2020-12-13 13:58:54 · 71 阅读 · 0 评论 -
PAT乙 1063 计算谱半径 (20分)(C C++)
【题目描述】在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界。换言之,对于给定的 n 个复数空间的特征值 { a1 +b1 i,⋯,an +bn i }它们的模为实部与虚部的平方和的开方,而“谱半径”就是最大模。现在给定一些复数空间的特征值,请你计算并输出这些特征值的谱半径。【输入】输入第一行给出正整数 N(≤ 10 000)是输入的特征值的个数。随后 N 行,每行给出 1 个特征值的实部和虚部,其间以空格分隔。注意:题目保证实部和虚部均为绝对值不超过 1000 的整数。原创 2020-12-13 11:40:18 · 79 阅读 · 0 评论 -
PAT乙 1023 组个最小数 (20分)(C C++)
【题目描述】给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。现给定数字,请编写程序输出能够组成的最小的数。【输入】输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。【输出】在一行中输出能够组成原创 2020-12-13 11:29:48 · 77 阅读 · 0 评论 -
PAT乙 1083 是否存在相等的差 (20分)(C C++)
【题目描述】给定 N 张卡片,正面分别写上 1、2、……、N,然后全部翻面,洗牌,在背面分别写上 1、2、……、N。将每张牌的正反两面数字相减(大减小),得到 N 个非负差值,其中是否存在相等的差?【输入】输入第一行给出一个正整数 N(2 ≤ N ≤ 10 000),随后一行给出 1 到 N 的一个洗牌后的排列,第 i 个数表示正面写了 i 的那张卡片背面的数字。【输出】按照“差值 重复次数”的格式从大到小输出重复的差值及其重复的次数,每行输出一个结果。【输入样例】83 5 8 6 2 1原创 2020-12-13 10:09:29 · 90 阅读 · 0 评论 -
PAT乙 1082 射击比赛 (20分)(C C++)
【题目描述】本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军;谁差得最远,谁就是菜鸟。本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟。我们假设靶心在原点(0,0)。【输入】输入在第一行中给出一个正整数 N(≤ 10 000)。随后 N 行,每行按下列格式给出:ID x y其中 ID 是运动员的编号(由 4 位数字组成);x 和 y 是其打出的弹洞的平面坐标(x,y),均为整数,且 0 ≤ |x|, |y| ≤ 100。题目保证每个运动员的编号不重复,且每人原创 2020-12-13 09:29:02 · 105 阅读 · 1 评论 -
PAT乙 1077 互评成绩计算 (20分)(C C++)
【题目描述】在浙大的计算机专业课中,经常有互评分组报告这个环节。一个组上台介绍自己的工作,其他组在台下为其表现评分。最后这个组的互评成绩是这样计算的:所有其他组的评分中,去掉一个最高分和一个最低分,剩下的分数取平均分记为 G1 ;老师给这个组的评分记为 G2 。该组得分为 (G1 +G2 )/2,最后结果四舍五入后保留整数分。本题就要求你写个程序帮助老师计算每个组的互评成绩。【输入】输入第一行给出两个正整数 N(> 3)和 M,分别是分组数和满分,均不超过 100。随后原创 2020-12-12 08:54:41 · 86 阅读 · 0 评论 -
PAT乙 1087 有多少不同的值 (20分)(C C++)
【题目描述】当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)【输入】输入给出一个正整数 N(2≤N≤104 )。【输出】在一行中输出题面中算式取到的不同值的个数。【输入样例】2017【输出样例】1480【代码】...原创 2020-12-11 21:01:45 · 53 阅读 · 0 评论 -
PAT乙 1047 编程团体赛 (20分)(C C++)
【题目描述】编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。【输入】输入第一行给出一个正整数 N(≤104 ),即所有参赛队员总数。随后 N 行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正整数,成绩为 0 到 100 的整数。【输出】在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。原创 2020-12-11 16:44:07 · 72 阅读 · 0 评论 -
PAT乙 1064 朋友数 (20分)(C C++)
【题目描述】如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。例如 123 和 51 就是朋友数,因为 1+2+3 = 5+1 = 6,而 6 就是它们的朋友证号。给定一些整数,要求你统计一下它们中有多少个不同的朋友证号。【输入】输入第一行给出正整数 N。随后一行给出 N 个正整数,数字间以空格分隔。题目保证所有数字小于 10^4 。【输出】首先第一行输出给定数字中不同的朋友证号的个数;随后一行按递增顺序输出这些朋友证号,数字间隔一个空格,且行末不原创 2020-12-11 12:48:41 · 87 阅读 · 0 评论 -
PAT乙 1043 输出PATest (20分)(C C++)
【题目描述】给定一个长度不超过 10^4 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 PATestPATest… 这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。【输入】输入在一行中给出一个长度不超过 10^4的、仅由英文字母构成的非空字符串。【输出】在一行中按题目要求输出排序后的字符串。题目保证输出非空。【输入样例】redlesPayBestPATTopTeeP原创 2020-12-11 12:17:47 · 54 阅读 · 0 评论 -
PAT乙 1042 字符统计 (20分)(C C++)
【题目描述】请编写程序,找出一段给定文字中出现最频繁的那个英文字母。【输入】输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。【输出】在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。【输入样例】This is a simple TEST. There ARE numbers and othe原创 2020-12-11 11:55:41 · 86 阅读 · 0 评论 -
PAT乙 1092 最好吃的月饼 (20分)(C C++)
【题目描述】月饼是久负盛名的中国传统糕点之一,自唐朝以来,已经发展出几百品种。若想评比出一种“最好吃”的月饼,那势必在吃货界引发一场腥风血雨…… 在这里我们用数字说话,给出全国各地各种月饼的销量,要求你从中找出销量冠军,认定为最好吃的月饼。【输入】输入首先给出两个正整数 N(≤1000)和 M(≤100),分别为月饼的种类数(于是默认月饼种类从 1 到 N 编号)和参与统计的城市数量。接下来 M 行,每行给出 N 个非负整数(均不超过 1 百万),其中第 i 个整数为第 i 种月饼的销量(块)。原创 2020-12-10 23:58:49 · 81 阅读 · 1 评论 -
PAT乙 1093 字符串A+B (20分)(C C++)
【题目描述】给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集。要求先输出 A,再输出 B,但重复的字符必须被剔除。【输入】输入在两行中分别给出 A 和 B,均为长度不超过 10^6的、由可见 ASCII 字符 (即码值为32~126)和空格组成的、由回车标识结束的非空字符串。【输出】在一行中输出题面要求的 A 和 B 的和。【输入样例】This is a sample testto show you_How it works【输出样例】This ampletowy原创 2020-12-10 12:45:14 · 90 阅读 · 0 评论 -
PAT乙 1031 查验身份证 (15分)(只有我理解了半年这个题意嘛?!!内附详解析)(C C++)
【题目描述】一个合法的身份证号码由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现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。翻译可能是我太菜了 题目看了半天不懂 乱七原创 2020-12-10 11:55:02 · 85 阅读 · 0 评论 -
PAT乙 1036 跟奥巴马一起编程 (15分)(C C++)
【题目描述】【输入】【输出】【输入样例】【输出样例】aaaaaaaaaaa aa aa &nbs原创 2020-12-10 10:05:34 · 80 阅读 · 0 评论 -
PAT乙 1041 考试座位号 (15分)(C C++)
【题目描述】每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。【输入】输入第一行给出一个正整数 N(≤1000),随后 N 行,每行给出一个考生的信息:准考证号 试机座位号 考试座位号。其中准考证号由 16 位数字组成,座位从 1 到 N 编原创 2020-12-10 01:34:09 · 161 阅读 · 0 评论 -
PAT乙 1046 划拳 (15分)(C C++)
【题目描述】划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。【输入】输入第一行先给出一个正整数 N(≤100),随后 N 行,每行给出一轮划拳的记录,格式为:甲喊 甲划 乙喊 乙划其中喊是喊出的数字,划是划出的数字,均为不超过 100 的正整数(两只原创 2020-12-09 15:33:20 · 77 阅读 · 0 评论 -
PAT乙 1051 复数乘法 (15分)(C C++)
【题目描述】复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i2 =−1;也可以写成极坐标下的指数形式 (R×e(Pi) ),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形R(cos(P )+isin(P ))。现给定两个复数的 R 和 P,要求输出两数乘积的常规形式。思路相乘化简得:(A1+B1i)(A2+B2i)=A1A2+A1B2i+B1A2i+B1B2ii=A1A2-B1B2+(A1B2+A2B1)i题意得: R(c原创 2020-12-09 14:55:52 · 69 阅读 · 0 评论 -
PAT乙 1056 组合数的和 (15分)(C C++)
【题目描述】给定 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 5【输出样例】330【代码】#include <iostr原创 2020-12-09 14:08:13 · 92 阅读 · 0 评论 -
PAT乙 1061 判断题 (15分)(C C++)
【题目描述】判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。【输入】输入在第一行给出两个不超过 100 的正整数 N 和 M,分别是学生人数和判断题数量。第二行给出 M 个不超过 5 的正整数,是每道题的满分值。第三行给出每道题对应的正确答案,0 代表“非”,1 代表“是”。随后 N 行,每行给出一个学生的解答。数字间均以空格分隔。【输出】按照输入的顺序输出每个学生的得分,每个分数占一行。【输入样例】3 62 1 3 3 4 50 0 1 0 1 10原创 2020-12-07 21:50:17 · 323 阅读 · 0 评论 -
PAT乙 1066 图像过滤 (15分)(C C++)
【题目描述】图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。【输入】输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M 行,每行给出 N 个像素点的灰度值,其间以空格分隔。所有灰度值都在 [0, 255] 区间内。【输出】输出按要求过滤后的图像。即输出 M原创 2020-12-07 21:35:01 · 55 阅读 · 0 评论 -
PAT乙 1071 小赌怡情 (15分)(格式不过问题)(C C++)
【题目描述】常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。格式问题这里面有两个空格【输入】输入在第一行给出 2 个正整数 T 和 K(≤ 100),分别是系统在初始状态下赠送给玩家的筹码数、以及需要处理的游戏次数。随后 K原创 2020-12-07 20:04:11 · 63 阅读 · 0 评论 -
PAT乙 1076 Wifi密码 (15分)(C C++)
【题目描述】下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。谢谢合作!!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。【输入】输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行按照 编号原创 2020-12-02 15:04:46 · 547 阅读 · 0 评论 -
PAT乙 1081 检查密码 (15分)(测试点二不过问题)(C C++)
【题目描述】本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。遇到问题 :死活遇到测试点过不过,后来发现测试点中存在 空格数据。cin 不接收空格于是用了gets 后发现报了下面错唔gets’ was not declared in this scope gets(a); 原因是:PAT中已经不支持 ‘gets’ 函数的用法。于是改用了c的写原创 2020-12-01 14:43:03 · 448 阅读 · 1 评论 -
PAT乙 1086 就不告诉你 (15分)(C C++)
【题目描述】做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。【输入】输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。【输出】在一行中倒着输出 A 和 B 的乘积。【输入样例】5 7【输出样例】53【代码】#include <iostream>using namespace std;int main(){ int n,m,x=0; c原创 2020-11-27 16:21:38 · 79 阅读 · 0 评论 -
PAT乙 1091 N-自守数 (15分)(C C++)
【题目描述】如果某个数 K 的平方乘以 N 以后,结果的末尾几位数等于 K,那么就称这个数为“N-自守数”。例如 3×922 =25392,而 25392 的末尾两位正好是 92,所以 92 是一个 3-自守数。本题就请你编写程序判断一个给定的数字是否关于某个 N 是 N-自守数。【输入】输入在第一行中给出正整数 M(≤20),随后一行给出 M 个待检测的、不超过 1000 的正整数。【输出】对每个需要检测的数字,如果它是 N-自守数就在一行中输出最小的 N 和 NK2 的值,以一原创 2020-11-27 16:01:25 · 69 阅读 · 0 评论 -
PAT乙 1026 程序运行时间 (15分)(C C++)
【题目描述】要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数 C1;在 f 执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数原创 2020-11-27 15:28:58 · 56 阅读 · 0 评论 -
PAT乙 1021 个位数统计 (15分)(C C++)
【题目描述】给定一个 k 位整数 N=dk−1 10k−1 +⋯+d1 101 +d0 (0≤di ≤9, i=0,⋯,k−1, dk−1 >0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。【输入】每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。【输出】对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M原创 2020-11-27 15:09:02 · 62 阅读 · 0 评论 -
PAT乙 1016 部分A+B (15分)(C C++)
【题目描述】正整数 A 的“DA (为 1 位整数)部分”定义为由 A 中所有 DA 组成的新整数 PA 。例如:给定 A=3862767,DA=6,则 A 的“6 部分”PA 是 66,因为 A 中有 2 个 6。现给定 A、DA 、B、DB ,请编写程序计算 PA +PB 。【输入】输入在一行中依次给出 A、DA 、B、DB ,中间以空格分隔,其中 0<A,B<10^10 。【输出】在一行中输出 PA+PB原创 2020-11-26 12:47:42 · 72 阅读 · 0 评论 -
PAT乙 1013 数素数 (20分)(C C++)
【题目描述】令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104 ,请输出 PM 到 PN 的所有素数。【输入】输入在一行中给出 M 和 N,其间以空格分隔。【输出】输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。【输入样例】5 27【输出样例】11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103【代码】#inc原创 2020-11-26 11:54:28 · 165 阅读 · 0 评论 -
PAT乙 1012 数字分类 (20分)(C C++)
【题目描述】给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和;A2=将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1 −n2 +n3 −n4 ⋯;A3=被 5 除后余 2 的数字的个数;A4=被 5 除后余 3 的数字的平均数,精确到小数点后 1 位;A5=被 5 除后余 4 的数字中最大数字。注意 :A3是0的清空下,输出的是N而不是0.【输入】每个输入包含 1 个测试用例。每个测原创 2020-11-26 11:16:12 · 63 阅读 · 0 评论 -
PAT乙 1011 A+B 和 C (15分)(C C++)
【题目描述】【输入】输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。【输出】对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。【输入样例】41 2 32 3 42147483647 0 21474836460 -2147483648 -2147483647【输出样例】Case原创 2020-11-23 09:25:26 · 79 阅读 · 0 评论 -
PAT乙 1010 一元多项式求导 (25分)(C C++)
【题目描述】思路:我们输入的是一整个多项式!(坑!!!是遇到ctrl+z 才表示你结束输入)指数是0的情况是不合法的 ,不用输出东西 //案例中的 -2 0 没有对应输出这个多项式有且只有一项的情况下,并且不合法 才输出 0 0【输入】以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。【输出】以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0原创 2020-11-20 17:15:48 · 61 阅读 · 0 评论 -
PAT乙 1009 说反话 (20分)(C C++)
【题目描述】给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。【输入】测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。【输出】每个测试用例的输出占一行,输出倒序后的句子。【输入样例】Hello World Here I Come【输出样例】Come I Here World Hello【代码】#include <原创 2020-11-20 16:07:03 · 77 阅读 · 0 评论 -
PAT乙 1008 数组元素循环右移问题 (20分)(C C++)
【题目描述】【输入】每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。【输出】在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。【输入样例】6 2·1 2 3 4 5 6【输出样例】5 6 1 2 3 4【代码】#include <iostream>#include <cmath>using namespace std;int main(){ int n,m,a[1原创 2020-11-20 15:48:50 · 69 阅读 · 0 评论 -
PAT乙 1007 素数对猜想 (20分)(C C++)
【题目描述】【输入】输入在一行给出正整数N。【输出】在一行中输出不超过N的满足猜想的素数对的个数。【输入样例】20【输出样例】4【代码】#include <iostream>#include <cmath>using namespace std;int f(int x) //判断素数 { if(x<=1) return 0; for(int i=2;i<=sqrt(x);i++) if(x%i==0) return 0; retur原创 2020-11-20 15:25:45 · 57 阅读 · 0 评论 -
PAT乙 1006 换个格式输出整数 (15分)(C C++)
【题目描述】让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。【输入】每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。【输出】每个测试用例的输出占一行,用规定的格式输出 n。【输入样例】234【输出样例】BBSSS1234【代码】#include <原创 2020-11-20 15:06:58 · 51 阅读 · 0 评论 -
PAT乙 1005 继续(3n+1)猜想 (25分)(C C++)
【题目描述】卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4 个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数 n 为“关键数”,如果 n 不能被数列中的原创 2020-11-20 13:07:32 · 108 阅读 · 0 评论