
PAT
本栏记录本人对PAT考试真题的题目答案解析
FEI..
人不曾老去,直到悔恨取代了梦想。
展开
-
PAT乙级:1013 数素数 (20 分)(Java)
PAT乙级:1013 数素数 (20 分)(Java) 微信公众号请搜索:【Codeplus】 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 200 ms 内存限制 64 MB 题目描述: 题解思路: 首先定义一个判定素数的方法isPrime(int i),具体判定素数的过程这里不解释了,前面也遇到过几次。然后在for (int i = 2; ; i++)循环里面进行判定,如果是素数,素数计数器自增,再判定,如果素数个数在M-N之间则按要求输出,第一个输出的素数,不带空原创 2021-05-30 11:00:18 · 645 阅读 · 9 评论 -
PAT乙级:1014 福尔摩斯的约会 (20 分)Java
PAT乙级:1014 福尔摩斯的约会 (20 分)Java 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 200 ms 内存限制 64 MB 题目描述: 大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个原创 2021-05-30 10:59:44 · 624 阅读 · 8 评论 -
PAT乙级:1012 数字分类 (20 分)(Java)
PAT乙级:1012 数字分类 (20 分)(Java) 微信公众号请搜索:【Codeplus】 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述: 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和; A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1 −n2 +n3 −n4 ⋯; A3 = 被原创 2021-05-28 14:07:07 · 641 阅读 · 7 评论 -
PAT乙级:1011 A+B 和 C (15 分)Java
PAT乙级:1011 A+B 和 C (15 分)(Java) 微信公众号请搜索:【Codeplus】 作者 HOU, Qiming 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述: 题解思路: 这个题目将所输入的作为一个字符串,使用split方法将字符串以空格分隔成字符数组,再将每个字符数组转换为整型,重点就是数据类型的表示范围,具体如下: int 数据类型是32位、有符号的以二进制补码表示的整数; 最小值是 -2,147,483,648(-2^31原创 2021-05-27 16:11:01 · 484 阅读 · 8 评论 -
PAT乙级:1010 一元多项式求导 (25 分)
PAT乙级:1010 一元多项式求导 (25 分)(Java) 微信公众号请搜索:【Codeplus】 作者 DS课程组 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述: 题解思路: 1、当指数b不为0时,进入输出语句:当flag为0时,说明是第一个数,输出不带空格,当flag不为0时,先输出空格(这里输出空格的思想是将空格放在最前面处理,即空格+数字作为一个整体,而不是以往的数字+空格形式)。 2、最后判定系数和指数是否都为0,即flag==0,说明原创 2021-05-26 08:05:07 · 583 阅读 · 9 评论 -
PAT乙级:1009 说反话 (20 分)(Java)
PAT乙级:1009 说反话 (20 分)(Java) 微信公众号请搜索:【Codeplus】 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述: 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 题解思路: 这个题目比较简单,主要用到的方法与1001成绩排名那个题目类似,通过输入一个字符串,使用split()方法以空格作为分隔符将字符串分成字符数组,每个数组元素就是一个单词,然后将数组元素进行逆序输出即可。 提交原创 2021-05-24 14:44:21 · 590 阅读 · 10 评论 -
PAT乙级:1008 数组元素循环右移问题 (20 分)
PAT乙级:1008 数组元素循环右移问题 (20 分) 作者 DS课程组 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 题目描述: 一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计原创 2021-05-23 19:47:53 · 767 阅读 · 9 评论 -
PAT乙级:1007 素数对猜想 (20 分)(Java)
PAT乙级:1007 素数对猜想 (20 分)(Java) 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 200 ms 内存限制 64 MB 题目描述: 题解思路: 1、首先明确素数的定义:一个大于1的自然数,且除了1和它本身外,不能被其他自然数整除的数就是素数,因此拿到一个素数n,只要n不能被[2,n-1]区间中的任何自然数整除,那n就是素数。 2、找出所有素数,判定相邻两个素数是否相差2,如果是计数器+1 代码一: import java.util.Scanner;原创 2021-05-23 09:21:39 · 643 阅读 · 8 评论 -
PAT乙级:1006 换个格式输出整数 (15 分)
PAT乙级:1006 换个格式输出整数 (15 分) 微信公众号请搜索:【Codeplus】 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 问题描述:让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。 题解思路: 完整源码: 提交原创 2021-05-22 08:53:26 · 731 阅读 · 4 评论 -
PAT乙级:1005 继续(3n+1)猜想 (25 分)
PAT乙级:1005 继续(3n+1)猜想 (25 分) 微信公众号请搜索:【Codeplus】 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 描述:卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就原创 2021-05-21 15:07:26 · 591 阅读 · 6 评论 -
PAT乙级:1004 成绩排名(Java)
PAT乙级:1004 成绩排名(Java) 微信公众号请搜索:【Codeplus】 作者 CHEN, Yue 单位 浙江大学 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB 描述:读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 题解:通过一个while循环控制依次输入一位同学的所有信息,将这些信息存储为一个字符串形式,这个字符串通过调用split()方法使用空格作为字符串分隔符,将这个字符串转换为字符数组,字符数组最后一个即是输入的原创 2021-05-19 17:45:14 · 746 阅读 · 10 评论 -
PAT乙级:1002 写出这个数 (20分)
PAT乙级:1002 写出这个数 (20分) #include<stdio.h> #include<math.h> int main(void) { char a[1000]; gets(a); int sum = 0; for(int i = 0;a[i] != '\0';i++) { sum += a[i] - 48; } int m; int len; len原创 2020-07-19 15:33:50 · 639 阅读 · 57 评论 -
PAT乙级:1001 害死人不偿命的(3n+1)猜想 (15分)
PAT乙级:1001 害死人不偿命的(3n+1)猜想 (15分) 作者:CHEN, Yue 单位:浙江大学 代码长度限制:16 KB 时间限制:400 ms 内存限制:64 MB 描述: 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世...原创 2020-04-22 17:24:59 · 877 阅读 · 58 评论