PAT
迟來北风
这个作者很懒,什么都没留下…
展开
-
【基础类型题】
如果i是素数,则p[i]为false!2.素数表的获取 输出100以内的素数。1.P进制x转换为十进制y。2.十进制y转换为Q进制z。原创 2023-03-17 16:10:42 · 58 阅读 · 0 评论 -
【PAT】——【图形输出】1027 打印沙漏
有个坑点,都用了要输出0。原创 2023-03-17 15:03:59 · 76 阅读 · 0 评论 -
【PAT】——【字符串处理+输入的空格问题】1044 火星数字
【代码】【PAT】——【字符串处理+输入的空格问题】1044 火星数字。原创 2023-03-15 15:39:53 · 45 阅读 · 0 评论 -
【PAT】——【简单模拟、数组】1008 数组元素循环右移问题
题目只需要输出最终结果,并不一定要将数组修改,找到对应的直接输出。原创 2023-03-13 16:02:16 · 47 阅读 · 0 评论 -
【PAT】——【简单数字】1088 三人行
1.if(1.0*(abs(jia-yi))/x==1.0*yi/y) 判断必须加上1.0。笔误: 1.scanf("%d ",&m,&x,&y) 就写了一个%d。或者变成交叉相乘(abs(jia-yi))*y==yi*x。2.abs(jia=yi) 减号打成等号了!原创 2023-03-13 15:07:27 · 75 阅读 · 0 评论 -
【PAT】——【简单模拟】1069 微博转发抽奖
中奖了就装进字符数组里,之后每次有新的中奖,遍历字符数组,有相同的就不输出。原创 2023-03-12 17:01:44 · 110 阅读 · 0 评论 -
【PAT 】——【字符串处理+scanf(),gets(),getchar()读取输入】1078 字符串压缩与解压
②:第二种情况就是要解压,只要扫描到数字就记录下来,然后按照个数打印字母即可,但是需要注意,数字的个数可能超过1位,所以可能有两位数甚至三位数的可能,若不用getchar()读取 ,直接用gets(),gets()遇到换行符直接结束。因为读入scanf()读入C或D时,不读取换行符,而又输入换行符。①:一定要用getchar()读取换行符,再用gets()读取字符串。①:压缩,借助 while()原创 2023-03-12 15:25:57 · 93 阅读 · 0 评论 -
【PAT】——【简单模拟】1072 开学寄语
主要在输出的格式上,自己写总是出错,逻辑有问题。原创 2023-03-10 17:15:21 · 64 阅读 · 0 评论 -
【PAT】——【简单数学】1051 复数乘法
本题的坑点在于如果是-0.005到0之间进行四舍五入保留小数点后两位时,保存为0,而不是-0,所以需要单独考虑下符号的问题。原创 2023-03-10 17:08:48 · 80 阅读 · 0 评论 -
【PAT】——【四舍五入】1077 互评成绩计算(待补充)
1.round()函数 注意返回值是整数。原创 2023-03-09 17:34:59 · 42 阅读 · 0 评论 -
【PAT 】——【进制转换+大数运算】1074 宇宙无敌加法器
测试点5是看输出值和为0时能否输出0,且输出值前面不能存在多余的零,所以在输出的时候判断一下0的情况就行了。原文链接:https://blog.csdn.net/logan_520/article/details/123881941。测试点3,4是看输出值是否能正确输出,用整型会超出运算范围,所以用字符串运算就可以了。测试点2是看最高位是否有进位的情况,所以考虑进位数k就可以了。原创 2023-03-09 17:31:49 · 50 阅读 · 0 评论 -
【PAT 】——【二维数组的应用】1097 矩阵行平移
不会数组右移,不会找奇数行,题没读懂是分别右移1到k。原创 2023-03-08 17:28:04 · 140 阅读 · 0 评论 -
【PAT 】——【散列数组】1083 是否存在相等的差
最后的输出判定条件为 if(hashmap[i]>=2) 【最开始写的是!因为大于等于2才算叫重复。原创 2023-03-08 17:24:48 · 39 阅读 · 0 评论 -
【PAT 】——【字符串处理+大数运算】1079 延迟的回文数
2.题中要求10次 用while(k--)就可以解决 不必太麻烦。1.学习字符串进行大整数运算的方法。原创 2023-03-08 16:58:24 · 73 阅读 · 0 评论 -
【PAT 】——【简单模拟】1092 最好吃的月饼
1.题意理解的不对,题中是输出每个种类的最大销量,我输出的单个输入数据的最大值。2.注意数组与输出种类ID的映射,直接从1输出就可以,就直接一一对应了。原创 2023-03-07 18:07:41 · 40 阅读 · 0 评论 -
【PAT】——1112超标区间
参考解法二学习思想(先统一装进数组里,比较中记录左端点和右端点,都找到后,直接按【,】形式输出)自己的写法比较麻烦,还得单独考虑边界值的情况(装一个判断一个)解法一:自己写的 比较麻烦。原创 2023-03-05 16:41:18 · 231 阅读 · 0 评论 -
【PAT】1113 (字符串处理+进制转换)钱串子加法(测试点3 ,4 没通过;待补充)
4.再翻转 去掉最前面的0。原创 2023-03-05 15:54:22 · 398 阅读 · 0 评论 -
【PAT 】——【素数】1099 性感素数
【代码】【PAT 】——【素数】1099 性感素数。原创 2023-03-03 15:28:45 · 147 阅读 · 0 评论 -
【PAT】——【字符串处理】1111 对称日
reverse(str.begin(),str.end()) 处理字符串时,翻转整个字符串。2.reverse()的头文件为#include1.注意这里补0的情况,因为有可能输入年份为1,就要变为0001。原创 2023-03-02 17:42:05 · 296 阅读 · 0 评论 -
【PAT 】——【简单数字或字符串处理】1101 B是A的多少倍
设一个数 A的最低 D位形成的数是 a d a_d ad。如果把 a d a_d ad 截下来移到 A A A 的最高位前面,就形成了一个新的数 B B B。输入在一行中给出一个正整数 A ( ≤ 1 0 9 ) A(≤10^9 ) A(≤109)和要截取的位数 D D D。思路2: 把规定的位数给截下来,然后再拼接上,但是这里需要一个函数获取这个数字的长度,知道剩余长度了,才能拼接上,最后要记得转为浮点数输出小数点后两位。计算 B B B 是 A A A 的多少倍,输出小数点后 2 位。原创 2023-03-02 16:35:54 · 135 阅读 · 0 评论 -
【PAT 】——【散列】1064 朋友数
题目所给的数字的范围为 [ 0 ∼ 9999 ] ,所以数字最大为9999,各位和的范围为 [0∼36],所以新建一个长度为37的数字,hash[]初始化为0,后面依次扫描各个数字,并且求各位和,求出来之后将对应位置修改为1,这里注意只有原来这个位置是0才能修改为1,并且count++如果两个整数各位数字的和是一样的,则被称为是“朋友数”,而那个公共的和就是它们的“朋友证号”。首先第一行输出给定数字中不同的朋友证号的个数;最后输出个数,然后遍历之前创建的数组,如果某个位置为1,就输出这个位置的下标。原创 2023-03-01 17:31:11 · 51 阅读 · 0 评论 -
【PAT】——【二维数组的应用】1053 住房空置率
正实数 e e e,即低电量阈值;随后 N N N 行,每行按以下格式给出一套住房的用电量数据: K E 1 E 2 . . . E K K E_1 E_2 ... E_K KE1E2...EK。现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套数的百分比。在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e e e,则该住房为“可能空置”;(样例解释:第2、3户为“可能空置”,第4户为“空置”,其他户不是空置。原创 2023-03-01 15:50:13 · 40 阅读 · 0 评论 -
【PAT】——【数形转换】1052 卖个萌
之后一行给出一个正整数 K,为用户请求的个数。随后 K 行,每行给出一个用户的符号选择,顺序为左手、左眼、口、右眼、右手——这里只给出符号在相应集合中的序号(从 1 开始),数字间以空格分隔。输入首先在前三行顺序对应给出手、眼、口的可选符号集。对每个用户请求,在一行中输出生成的表情。若用户选择的序号不存在,则输出 Are you kidding me?@\/@中\的输出:\指转义字符,如果想输出\,应输出\\。现给出可选用的符号集合,请你按用户的要求输出表情。[左手]([左眼][口][右眼])[右手]原创 2023-03-01 15:05:43 · 38 阅读 · 0 评论 -
【PAT 】——【散列】1029 旧键盘
输入在 2 行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过 80 个字符的串,由字母 A-Z(包括大、小写)、数字 0-9、以及下划线 _(代表空格)组成。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。①:借助散列表的思想,数组元素默认为0,如果数组元素为1说明当前字符输出过不能再输出了,长度为128的原因是所有字符都不会超过Ascii码的范围。思路为:字符串2中遍历字符串1中的每个字符,如果在第二个字符串中没出现过,肯定是坏的,否之肯定是好的。原创 2023-02-26 16:41:25 · 206 阅读 · 1 评论 -
【PAT】——【贪心】1023 组个最小数
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。注意:在确定最高位之后,只需要从左到右输出数组中全部数字即可。现给定数字,请编写程序输出能够组成的最小的数。在一行中输出能够组成的最小的数。原创 2023-02-25 11:05:19 · 129 阅读 · 0 评论 -
【无标题】
输入在两行中分别给出 A 和 B ,均为长度不超过10^6的、由可见ASCII 字符 (即码值为 32~126)和空格组成的、由回车标识结束的非空字符串。给定两个字符串A和 B,本题要求你输出A+B,即两个字符串的并集。要求先输出 A,再输出 B ,但重复的字符必须被剔除。1)用gets()函数,不要用scanf()函数,因为输入中有空格,用scanf()会漏下空格。思路有两种,一种为暴力求解,第二种为散列数组标记记录。在一行中输出题面要求的 A和 B的和。原创 2023-02-19 13:37:19 · 51 阅读 · 0 评论 -
【PAT 】——【字符串处理】1009 说反话 (二维字符串数组)
测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。1.该字符串读取涉及空格,不能用scanf,用gets(),但PTA不支持gets(),用cin.getline(a,max)代替。给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。3.思路为:字符串以空格为分割,存入二维数组中。每个测试用例的输出占一行,输出倒序后的句子。原创 2023-02-16 12:49:15 · 42 阅读 · 0 评论 -
【PAT 】——【简单数学】1096 大美数 (四层循环)
输入在第一行中给出正整数 K ( ≤ 10 ) K(≤10) K(≤10),随后一行给出 K K K 个待检测的、不超过 1 0 4 10^4 104 的正整数。若正整数 N N N 可以整除它的 4 个不同正因数之和,则称这样的正整数为“大美数”。本题就要求你判断任一给定的正整数是否是“大美数”。对每个需要检测的数字,如果它是大美数就在一行中输出 Yes,否则输出 No。2.10可以被5整除,5可以整除10,注意整除的理解,不然写反了只能13分。原创 2023-02-10 21:15:16 · 241 阅读 · 0 评论 -
【PAT 】——【简单数学】1062 最简分数(判断有无公约数+分数比较)
现给定两个不相等的正分数 N 1 / M 1 N_1 /M_1 N1/M1 和 N 2 / M 2 N_2 /M_2 N2/M2 ,要求你按从小到大的顺序列出它们之间分母为 K K K 的最简分数。在一行中按 N / M N/M N/M 的格式列出两个给定分数之间分母为 K K K 的所有最简分数,按从小到大的顺序,其间以 1 个空格分隔。行首尾不得有多余空格。输入在一行中按 N / M N/M N/M 的格式给出两个正分数,随后是一个正整数分母 K K K,其间以空格分隔。原创 2023-02-06 16:39:04 · 184 阅读 · 1 评论 -
【PAT 】—【简单数学】1057 数零壹 (字母对应数字+十进制变二进制)
给定一串长度不超过 1 0 5 10^5 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 个 1。十进制如何转二进制:将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示。原创 2023-02-06 15:18:50 · 88 阅读 · 0 评论 -
【PAT】——【简单数学】1054 求平均值 (sscanf,sprintf)
最后在一行中输出结果:The average of K numbers is Y,其中 K 是合法输入的个数,Y 是它们的平均值,精确到小数点后 2 位。一个“合法”的输入是 [ − 1000 , 1000 ] [−1000,1000] [−1000,1000] 区间内的实数,并且最多精确到小数点后 2 位。这个题目对于我来说也有巨坑的一个点,就是只有合法个数是1的时候用的是number输出,其余都是numbers输出,因为这个太隐蔽了,直接导致三个用例不通过,找了半天才找到,可能也就我眼瞎了哈哈哈。原创 2023-02-06 14:30:12 · 58 阅读 · 0 评论