![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PAT B
Siumai
此人不懒,但什么都不想写
展开
-
PAT乙级经验分享(19.03.02)
一、关于报名条件:有身份证就行!!报名费用:256人民币(?为什么涨价)报考方式:https://www.patest.cn考场:自选就近考点参与考试。二、关于要准备的东西准考证!!身份证!!考试会发草稿纸!如果有喜欢写写画画的同学们可以带笔啦(走进考场,看看大家纷纷拔出笔的瞬间,我:…)必胜的决心(?)三、关于考试(PAT乙级)考试时间为180分钟;乙级共有5道...原创 2019-03-06 09:49:29 · 3182 阅读 · 9 评论 -
PAT B 1016 部分A+B(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、...原创 2019-02-15 10:03:37 · 371 阅读 · 0 评论 -
PAT B 1018 锤子剪刀布(C语言)
先贴下代码,思路稍后补充!#include <stdio.h>char BCJ[4]="BCJ";int main(){ int N,R,Win[2][3]={0},Battle[100];; Battle['C']=2; Battle['J']=1; Battle['B']=0; char A,B; scanf("原创 2019-02-15 12:12:56 · 204 阅读 · 0 评论 -
PAT B 1019 数字黑洞(C语言)
先贴代码 稍后补充#include <stdio.h>#include <ctype.h>#include <stdlib.h>int cmp(const void *a,const void *b){ return *(char *)b-*(char原创 2019-02-15 12:43:58 · 216 阅读 · 0 评论 -
PAT B 1025 反转链表(C语言)*栈和队列的应用
一、题目给定一个常数 K 以及一个单链表 L,请编写程序将 L 中每 K 个结点反转。例如:给定 L 为 1→2→3→4→5→6,K 为 3,则输出应该为 →2→1→6→5→4;如果 K 为 4,则输出应该为 4→3→2→1→5→6,即最后不到 K 个元素不反转。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出第 1 个结点的地址、结点总个数正整数 N (≤10^5 ...原创 2019-02-17 11:34:00 · 182 阅读 · 0 评论 -
PAT B 1024 科学计数法(C语言)*16行代码搞定
一、题目科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [±][1-9].[0-9]+E[±][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指数部分的正负号即使对正数也必定明确给出。现以科学计数法的格式给出实数 A,请编写程序按普通数字表示法输出 A,并保证所有有效位都被保留。输入格式:每个输入包含 1 个测试用例,即一个以科学...原创 2019-02-16 10:12:16 · 475 阅读 · 0 评论 -
PAT B 1030 完美数列(C语言)
一、题目给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列。现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数 N 和 p,其中 N(≤10^5 )是输入的正整数的个数,p(≤10^9 )是给定的参数。第二行给出 N 个正整数,每个数不超过 10^9 ...原创 2019-02-20 16:06:26 · 247 阅读 · 0 评论 -
PAT B 1033 旧键盘打字(C语言)
一、题目旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在 2 行中分别给出坏掉的那些键、以及应该输入的文字。其中对应英文字母的坏键以大写给出;每段文字是不超过 10^5 个字符的串。可用的字符包括字母 [a-z, A-Z]、数字 0-9、以及下划线 _(代表空格)、,、.、-、+(...原创 2019-02-20 16:13:26 · 224 阅读 · 0 评论 -
PAT B 1034 有理数四则运算
一、题目本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式 k a/...原创 2019-02-20 16:27:40 · 177 阅读 · 0 评论 -
PAT B 1035 插入与归并(C语言)
一、题目根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判...原创 2019-02-20 16:41:00 · 236 阅读 · 0 评论 -
PAT B 1040 有几个PAT(C语言)
一、题目字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位§,第 4 位(A),第 6 位(T);第二个 PAT 是第 3 位§,第 4 位(A),第 6 位(T)。现给定字符串,问一共可以形成多少个 PAT?输入格式:输入只有一行,包含一个字符串,长度不超过10^5 ,只包含 P、A、T 三种字母。输出格式:在一行中输出给定字符串中包含多少个 PA...原创 2019-02-20 16:46:06 · 189 阅读 · 0 评论 -
PAT B 1045 快速排序(C语言)
一、题目1045 快速排序 (25 分)著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边。 给定划分后的 N 个互不相同的正整数的排列,请问有多少个元素可能是划分前选取的主元?例如给定 N=5N = 5N=5, 排列是1、3、2、4、5。则:1 的左边没有元素,右边的元素都比它大,所以它可能...原创 2019-02-20 16:58:32 · 167 阅读 · 0 评论 -
PAT B 1044 火星数字(C语言)
一、题目火星人是以 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, mer, ...原创 2019-02-20 17:08:08 · 482 阅读 · 0 评论 -
PAT B 1050 螺旋矩阵(C语言)
一、题目本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。输入格式:输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 10^4 ,相邻数字以空格分隔。输...原创 2019-02-20 17:29:20 · 242 阅读 · 0 评论 -
PAT B 1055 集体照(C语言)
一、题目拍集体照时队形很重要,这里对给定的 N 个人 K 排的队形设计排队规则如下:每排人数为 N/K(向下取整),多出来的人全部站在最后一排;后排所有人的个子都不比前排任何人矮;每排中最高者站中间(中间位置为 m/2+1,其中 m 为该排人数,除法向下取整);每排其他人以中间人为轴,按身高非增序,先右后左交替入队站在中间人的两侧(例如5人身高为190、188、186、175、170,则...原创 2019-02-20 17:48:41 · 385 阅读 · 0 评论 -
PAT B 1057 数零壹(C语言)*按位处理超简单
一、题目给定一串长度不超过 10^5 的字符串,本题要求你将其中所有英文字母的序号(字母 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-02-21 09:08:28 · 190 阅读 · 0 评论 -
PAT B 1058 选择题(C语言)
一、题目批改多选题是比较令人头秃的事情,本题就请你写个程序帮助老师批改多选题,并且指出哪道题错的人最多。输入格式:输入在第一行给出两个正整数 N(≤ 1000)和 M(≤ 100),分别是学生人数和多选题的个数。随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意每题的选项...原创 2019-02-21 10:57:51 · 294 阅读 · 0 评论 -
PAT B 1094 谷歌的招聘(C语言)
一、题目1094 谷歌的招聘 (20 分)2004 年 7 月,谷歌在硅谷的 101 号公路边竖立了一块巨大的广告牌(如下图)用于招聘。内容超级简单,就是一个以 .com 结尾的网址,而前面的网址是一个 10 位素数,这个素数是自然常数 e 中最早出现的 10 位连续数字。能找出这个素数的人,就可以通过访问谷歌的这个网站进入招聘流程的下一步。自然常数 e 是一个著名的超越数,前面若干位写出来...原创 2019-02-26 22:39:20 · 1303 阅读 · 0 评论 -
PAT B 1015 德才论(C语言)
一、题目宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第一行给出 3 个正整数,分别为:N(≤10^5 ),即考生总数;L(≥60),为录取最低分数线,即德分和才分均不...原创 2019-02-15 09:45:38 · 382 阅读 · 0 评论 -
PAT B 1013 数素数(C语言)
一、题目令 P.i 表示第 i 个素数。现任给两个正整数 M≤N≤10^4 ,请输出 P.M 到 P.N 的所有素数。输入格式:输入在一行中给出 M 和 N,其间以空格分隔。输出格式:输出从 P.M 到 P.N 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。输入样例:5 27输出样例:11 13 17 ...原创 2019-02-14 18:30:57 · 192 阅读 · 0 评论 -
PAT B 1010 一元多项式求导(C语言)
一、题目设计函数求一元多项式的导数。(注:x^n (n为整数)的一阶导数为nx^n−1 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。输入样例:3 ...原创 2019-02-14 17:11:35 · 153 阅读 · 2 评论 -
PAT B 1067 试密码(C语言)
一、 题目当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死。本题就请你实现这个小功能。输入格式:输入在第一行给出一个密码(长度不超过 20 的、不包含空格、Tab、回车的非空字符串)和一个正整数 N(≤ 10),分别是正确的密码和系统允许尝试的次数。随后每行给出一个以回车结束的非空字符串,是用户尝试输入的密码。输入保证至少有一次尝试。当读到一...原创 2019-02-22 11:26:45 · 383 阅读 · 0 评论 -
PAT B 1070 结绳(C语言)*栈是好东西
一、题目给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。输入格式:每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (2≤N≤10^4 );第...原创 2019-02-22 16:15:17 · 215 阅读 · 0 评论 -
PAT B 1074 宇宙无敌加法器(C语言)*20行代码简单思路
一、题目地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的。而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。每个 PAT 星人都必须熟记各位数字的进制表,例如“……0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 ...原创 2019-02-23 11:07:45 · 440 阅读 · 3 评论 -
PAT B 1078 字符串压缩与解压(C语言)
一、题目文本压缩有很多种方法,这里我们只考虑最简单的一种:把由相同字符组成的一个连续的片段用这个字符和片段中含有这个字符的个数来表示。例如 ccccc 就用 5c 来表示。如果字符没有重复,就原样输出。例如 aba 压缩后仍然是 aba。解压方法就是反过来,把形如 5c 这样的表示恢复为 ccccc。本题需要你根据压缩或解压的要求,对给定字符串进行处理。这里我们简单地假设原始字符串是完全由英...原创 2019-02-23 17:07:12 · 583 阅读 · 4 评论 -
PAT B 1022 D进制的A+B(C语言)
一、题目1022 D进制的A+B (20 分)输入两个非负 10 进制整数 A 和 B (≤2^30 −1),输出 A+B 的 D (1<D≤10)进制数。输入格式:输入在一行中依次给出 3 个整数 A、B 和 D。输出格式:输出 A+B 的 D 进制数。输入样例:123 456 8输出样例:1103作者: CHEN, Yue单位: 浙江大学时间限制: 200...原创 2019-02-28 11:45:31 · 214 阅读 · 0 评论 -
PAB B 1029 旧键盘(C语言)
一、题目旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。题目保证 2 个字符串均非空。输出格式:按照发现顺序,...原创 2019-02-20 15:46:59 · 206 阅读 · 0 评论 -
PAT B 1068 万绿丛中一点红(C语言)*排除法
1068 万绿丛中一点红 (20 分)题目说明对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。现给定一幅分辨率为 M×N 的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。输入格式:输入第一行给出三个正整数,分别是 M 和 N(≤ 1000),即图像的分辨率;以及 TOL,是所求像素点与相邻点的颜色差阈值,色差...原创 2019-01-25 11:24:23 · 310 阅读 · 3 评论 -
PAT B 1071 小赌怡情(C语言)
1071 小赌怡情 (15 分)瞎逼逼:这道题属于0难度 但是有点话痨的那种,然后辣鸡系统就开始了,怎么测都是↓然后最终发现,样例里面的格式是和题干里面有一个空格的区别的题目:常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除...原创 2019-01-25 16:18:47 · 134 阅读 · 0 评论 -
PAT B 1075 链表元素分类
1075 链表元素分类的一种解题思路一.题目给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式:每个输入包...原创 2019-01-28 10:28:16 · 344 阅读 · 0 评论 -
PAT B 1080 MOOC期终成绩 (C语言)
1080 MOOC期终成绩思路分析一、题目对于在中国大学MOOC(http://www.icourse163.org/ )学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满分100)。总评成绩的计算公式为 G=(G.mid-term ×40%+G.final × 60%),如果 G.mid−term &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;...原创 2019-02-23 22:53:10 · 724 阅读 · 0 评论 -
PAT B 1084 外观数列 (C语言)
一、题目外观数列是指具有以下特点的整数序列: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 项是 d113,其描述...原创 2019-02-01 11:02:01 · 409 阅读 · 0 评论 -
PAT B 1085 PAT单位排行(C语言)
一、题目每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。输入格式:输入第一行给出一个正整数 N(≤10^5 ),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息:准考证号 得分 学校其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0, 100] 区间内的整数;学校是由不超...原创 2019-02-01 19:18:10 · 733 阅读 · 0 评论 -
PAT B 1088 三人行(C语言)
一、题目子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。输入格式:输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为...原创 2019-02-02 17:15:58 · 671 阅读 · 0 评论 -
PAT B 1089 狼人杀-简单版(C语言)*两种思路
一、题目二、思路三、代码实现原创 2019-02-07 11:07:38 · 1080 阅读 · 0 评论 -
PAT B 1090 危险品装箱(C语言)*较高效
一、题目集装箱运输货物时,我们必须特别小心,不能把不相容的货物装在一只箱子里。比如氧化剂绝对不能跟易燃液体同箱,否则很容易造成爆炸。本题给定一张不相容物品的清单,需要你检查每一张集装箱货品清单,判断它们是否能装在同一只箱子里。输入格式:输入第一行给出两个正整数:N (≤10^4 ) 是成对的不相容物品的对数;M (≤100) 是集装箱货品清单的单数。随后数据分两大块给出。第一块有 ...原创 2019-02-08 16:38:47 · 1181 阅读 · 0 评论 -
PAT B 1095 解码PAT准考证(C语言)
一、题目PAT 准考证号由 4 部分组成:第 1 位是级别,即 T 代表顶级;A 代表甲级;B 代表乙级;第 2~4 位是考场编号,范围从 101 到 999;第 5~10 位是考试日期,格式为年、月、日顺次各占 2 位;最后 11~13 位是考生编号,范围从 000 到 999。现给定一系列考生的准考证号和他们的成绩,请你按照要求输出各种统计信息。输入格式:输入首先在一行中给出两...原创 2019-02-09 17:32:21 · 480 阅读 · 0 评论 -
PAT B 1005 继续(3n+1)猜想(C语言)
一、题目略(滑稽)二、错误分析测试点3、4段错误一句话解决:用count[]数组记录出现过的Callatz数过程中如果建立的count[]数组容量是101,但是可能会忽略求Callatz数的过程中会出现大于100的数,因此,仅当n&lt;=100时,使count[n]++void Callatz(int n){ while(n != 1) { n = ...原创 2019-02-14 11:42:47 · 695 阅读 · 8 评论 -
PAT B 1062 最简分数(C语言)
一、题目一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。现给定两个不相等的正分数 N1 /M1 和 N2 /M2 ,要求你按从小到大的顺序列出它们之间分母为 K 的最简分数。输入格式:输入在一行中按 N/M 的格式给出两个正分数,随后是一个正整数分母 K,其间以空格分隔。题目保证给出的所有整数都不超过 ...原创 2019-02-21 18:19:47 · 361 阅读 · 0 评论