前置条件
甲级考试的分数分布一般为:20、25、25、30;乙考试的分数分布一般为:15、20、20、20、25。
考试时间:2019年3月2日星期六下午1点30分 (北京时间)。
考试地点:福州大学新区数计学院5号楼。
考试环境:福州大学: 张栋, zhangdong@fzu.edu.cn
Dev C++ 5.10;Code::Blocks 16.01;Java SE Development Kit 9.0.1;Eclipse Oxygen.2 4.7.2;Python解释器(3.6.5);PyCharm Community Edition
PAT练习题列表地址(乙级):https://pintia.cn/problem-sets/994805260223102976/problems
开发工具:Dev-C++ 5.11(尽量与考场接近)
参考用书:《算法笔记》 机械工业出版社
注意
- C/C++的主函数必须定义为整型,即“int main()”; 程序正常结束必须返回0,即“return 0;”否则将会得到返回非零错误。
1001 害死人不偿命的(3n+1)猜想 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805325918486528
分类:简单模拟
答案:
1 | #include<cstdio> |
1002 写出这个数 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384
注意点:保证n小于10^100,超出 int ,long 的范围,故首先考虑字符串。因n不超过10的100次方, 所以sum小于9乘以100, 即sum一定不会大于三位数。strlen的使用。
答案:
1 | #include<cstdio> |
1003 我要通过! (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805323154440192
注意点:理解题目,找出规律,设P之前A的数量为a,P与T之间A的数量为b,T之后A的数量为c,可知c = a * b。
答案:
1 | #include<cstdio> |
1004 成绩排名 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805321640296448
注意点:结构体使用,排序算法使用。
答案:
1 | #include<cstdio> |
1005 继续(3n+1)猜想 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805320306507776
注意点:考查hashTable的思想。专门开一个表用于验证是否出现过,表需要开的足够大(10000),否则会出现部分正确的情况。
答案:
1 | #include<cstdio> |
1006 换个格式输出整数 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805318855278592
注意点:注意边界条件,比如10,100的情况。
答案:
1 | #include<cstdio> |
1007 素数对猜想 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805317546655744
注意点:素数判断,边界条件注意。
答案:
1 | #include<cstdio> |
1008 数组元素循环右移问题 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805316250615808
注意点:计算输入数组与输出数组基于n,m的位置关系。
答案:
1 | #include<cstdio> |
1009 说反话 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805314941992960
注意点:利用stack倒序输出,注意cin与string的用法。
答案:
1 | #include <iostream> |
1010 一元多项式求导 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805313708867584
注意点:零多项式特殊处理,使用EOF的方式比使用数组存储的方式简洁高效。
答案:
1 | #include<cstdio> |
1011 A+B 和 C (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805312417021952
注意点:注意输入输出与取值范围。
答案:
1 | #include<cstdio> |
1012 数字分类 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805311146147840
答案:
1 | #include<cstdio> |
1013 数素数 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805309963354112
答案:
1 | #include<cstdio> |
1014 福尔摩斯的约会 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805308755394560
注意点:字符串的输入输出,字符范围的边界问题(A-G,A-N,A-Z)。
答案:
1 | #include<cstdio> |
1015 德才论 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805307551629312
注意点:主要考察sort中的cmp函数,注意审题,注意边界条件。
1 | #include<cstdio> |
1016 部分A+B (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805306310115328
注意点:考察字符与数字的转化。
答案:
1 | #include<cstdio> |
1017 A除以B (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805305181847552
注意点:考察大整数运算,需掌握大整数的加减乘除。
答案:
1 | #include<cstdio> |
1018 锤子剪刀布 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805304020025344
注意点:注意最后一个条件,“如果解不唯一,则输出按字母序最小的解”,即当获胜次数最多的手势相同的时候的策略,影响到数据的摆放。
答案:
1 | #include<cstdio> |
1019 数字黑洞 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805302786899968
注意点:主要在于数字与数字的数组的相互转化,注意printf技巧的使用。
答案:
1 | #include<cstdio> |
1020 月饼 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805301562163200
注意点:理解题意,策略为首先卖出单价最高的,最高的卖完了再依次补充。
答案:
1 | #include<cstdio> |
1021 个位数统计 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805300404535296
注意点:需要用大整数方式处理数据。
答案:
1 | #include<cstdio> |
1022 D进制的A+B (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805299301433344
注意点:进制转换的问题,需要掌握P进制转化为10进制,与10进制转化为P进制,其他可以以十进制作为中介。
答案:
1 | #include<cstdio> |
1023 组个最小数 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805298269634560
注意点:策略为最高位打印除0以外最小的,其余的顺序从小到大按数量打印。
答案:
1 | #include<cstdio> |
1024 科学计数法 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805297229447168
注意点:以处理字符串作为思路。
答案:
1 | #include<cstdio> |
1025 反转链表 (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805296180871168
注意点:根据《算法笔记》里的代码,没通过,直接超时了。后面再想办法。改用柳婼的。
答案:
1 | #include <iostream> |
1026 程序运行时间 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805295203598336
注意点:注意四舍五入。
答案:
1 | #include<cstdio> |
1027 打印沙漏 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805294251491328
注意点:***注意格式问题,沙漏后面的空格不要打印,十分坑。
答案:
1 | #include<cstdio> |
1028 人口普查 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805293282607104
注意点:关注下这个读取数据的方式。
答案:
1 | #include<cstdio> |
1029 旧键盘 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805292322111488
注意点:字符串处理。
答案:
1 | #include<cstdio> |
1030 完美数列 (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805291311284224
注意点:没理解透。采用二分查找防止超时,还有一种two pointers的方式。
答案:
1 | // 二分查找解法 |
1 | // two pointers解法 |
1031 查验身份证 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805290334011392
注意点:
答案:
1 | #include<cstdio> |
1032 挖掘机技术哪家强 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805289432236032
注意点:
答案:
1 | #include <iostream> |
1033 旧键盘打字 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805288530460672
注意点:注意这题把字符当做数字使用的方式,以及getline与cin的区别,这题我原来用了cin,死活有一个点过不去,后来改了getline才可以。
答案:
1 | #include<stdio.h> |
1034 有理数四则运算 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805287624491008
注意点:分数的四则运算,有套路,背下来。
答案:
1 | #include<cstdio> |
1035 插入与归并 (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805287624491008
注意点:插入排序与归并排序的应用。
1 | PAT乙级需要掌握的排序算法: |
答案:
1 | #include<cstdio> |
1036 跟奥巴马一起编程 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805285812551680
答案:
1 | #include<cstdio> |
1037 在霍格沃茨找零钱 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805284923359232
注意点:进制转换。
答案:
1 | #include<cstdio> |
1038 统计同成绩学生 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805284092887040
注意点:利用map的思想,不然会超时。
答案:
1 | #include<cstdio> |
1039 到底买不买 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805283241443328
注意点:利用hashTable的思想,把字符的ASCII码作为hash值。
答案:
1 | #include<cstdio> |
1040 有几个PAT (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805282389999616
注意点:原理,累加每个A左边P的个数与右边T的个数的乘积,注意结果取模要在过程中,否则会溢出。B1045的思想类似。
答案:
1 | #include<iostream> |
1041 考试座位号 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805281567916032
答案:
1 | #include<cstdio> |
1042 字符统计 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805280817135616
注意点:同样是字符处理问题,注意ASCII字符与数字的转化,还有哈希表的思想。
答案:
1 | #include<cstdio> |
1043 输出PATest (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805280074743808
注意点:直接暴力输出。
答案:
1 | #include <iostream> |
1044 火星数字 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805279328157696
注意点:本质上是进制转化问题。注意substr的使用,注意getchar获取多余空格技巧。
答案:
1 | #include<cstdio> |
1045 快速排序 (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805278589960192
注意点:暴力会超时。思路原理与B1040一样,都是关注一个元素左边所有与右边所有的情况。
答案:
1 | #include<cstdio> |
1046 划拳 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805277847568384
答案:
1 | #include<cstdio> |
1047 编程团体赛 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805277163896832
答案:
1 | #include<cstdio> |
1048 数字加密 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240
注意点:注意在string类型下,字符串相加的技巧。
答案:
1 | #include<cstdio> |
1049 数列的片段和 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805275792359424
注意点:https://www.jianshu.com/p/937a367ae4ea。数学问题。
答案:
1 | #include <stdio.h> |
1050 螺旋矩阵 (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805275146436608
注意点:还需要再理解下。
答案:
1 | // 用这三个会超时 |
1051 复数乘法 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805274496319488
注意点:三角恒等公式,复数的乘法。注意精度小于三位的情况要设为0。
答案:
1 | #include <stdio.h> |
1052 卖个萌 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805273883951104
注意点:字符串处理。
答案:
1 | #include<iostream> |
1053 住房空置率 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805273284165632
注意点:注意用printf输出%和\的技巧。%%
,\\
答案:
1 | #include<cstdio> |
1054 求平均值 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805272659214336
注意点:用sscanf和sprintf处理字符串数据。
答案:
1 | #include <iostream> |
1055 集体照 (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805272021680128
注意点:自己独立做一遍。
答案:
1 | #include <iostream> |
1056 组合数的和 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805271455449088
答案:
1 | #include <cstdio> |
1057 数零壹 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805270914383872
注意点:考察进制转换。
答案:
1 | #include<cstdio> |
1058 选择题 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805270356541440
注意点:不难,但比较麻烦。
答案:
1 | #include<cstdio> |
1059 C语言竞赛 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805269828059136
注意点:注意其中map查询不到的时候的处理方式,以及素数的判断方式。
答案:
1 | #include<cstdio> |
1060 爱丁顿数 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805269312159744
注意点:从大到小排序。
答案:
1 | #include<cstdio> |
1061 判断题 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805268817231872
注意点:
答案:
1 | #include<cstdio> |
1062 最简分数 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805268334886912
注意点:求最大公约数,与分数的加减乘除并无关系。
答案:
1 | #include <iostream> |
1063 计算谱半径 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805267860930560
注意点:理解题意。
答案:
1 | #include<cstdio> |
1064 朋友数 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805267416334336
注意点:灵活运用hashTable,sort,vector,string。
答案:
1 | #include<cstdio> |
1065 单身狗 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805266942377984
注意点:注意特殊情况00000,所以输出需要%05d,并且数组初始化为-1
答案:
1 | #include<cstdio> |
1066 图像过滤 (15 分)。
https://pintia.cn/problem-sets/994805260223102976/problems/994805266514558976
答案:
1 | #include<cstdio> |
1067 试密码 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805266007048192
注意点:注意格式问题。注意获取行数的方式。
答案:
1 | #include<cstdio> |
1068 万绿丛中一点红 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805265579229184
注意点:坑点在于审题,注意是要“独一无二”的颜色。
答案:
1 | #include<cstdio> |
1069 微博转发抽奖 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805265159798784
注意点:这题网上搜的答案可以看出,在一定情况下,没有搜到key的map返回0也是可以作为判断依据的。
答案:
1 | #include<cstdio> |
另外答案
1 | #include <iostream> |
1070 结绳 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805264706813952
注意点:越长的绳子对折的次数应该要越少,最后才会最长。
答案:
1 | #include <iostream> |
1071 小赌怡情 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805264312549376
注意点:注意格式,total前面是两个空格。
答案:
1 | #include<cstdio> |
1072 开学寄语 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805263964422144
注意点:注意格式问题,其中四位数字需要尤其注意, %04d。
答案:
1 | #include<cstdio> |
1073 多选题常见计分法 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805263624683520
注意点:可以与B1058联动,我这里采用网上 “柳婼” 的做法。
答案:
1 | #include <iostream> |
1074 宇宙无敌加法器 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805263297527808
注意点:注意这里补零的方式,并且理解为什么最后一个进位一定是1。
答案:
1 | #include <iostream> |
1075 链表元素分类 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262953594880
注意点:将数据分为3类,最后输出的时候有技巧。
答案:
1 | #include <iostream> |
1076 Wifi密码 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262622244864
答案:
1 | #include<cstdio> |
1077 互评成绩计算 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262303477760
注意点:注意其四舍五入的方式。
答案:
1 | #include <iostream> |
1078 字符串压缩与解压 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805262018265088
注意点:dev-c++ 工具-编译选项-编译器-编译 -std=c++11,stoi的用法。
答案:
1 | #include<iostream> |
1079 延迟的回文数 (20 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805261754023936
注意点:重点在于其中的相加,需要使用大整数相加的想法。
答案:
1 | #include <iostream> |
1080 MOOC期终成绩 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805261493977088
注意点:
答案:
1 | #include <iostream> |
1081 检查密码 (15 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805261217153024
注意点:一定要注意当需要一整行的时候,一行有可能出现空格的情况,需要使用getline,而使用getline,需要注意开头空格的情况。
答案:
1 | #include<cstdio> |
1082 射击比赛 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805260990660608
注意点:只需要平方和就可以了。
答案:
1 | #include <iostream> |
1083 是否存在相等的差 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805260780945408
答案:
1 | #include <iostream> |
1084 外观数列 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/994805260583813120
注意点:to_string的用法,for的别样用法。
答案:
1 | #include <iostream> |
1085 PAT单位排行 (25 分)***
https://pintia.cn/problem-sets/994805260223102976/problems/994805260353126400
注意点:cctype其中一些处理字符串的函数。还有一个很重要的,就是遍历map的方式。
答案:
1 | #include <iostream> |
1086 就不告诉你 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429065476579328
注意点:善于利用to_string,reverse等。
答案:
1 | #include<cstdio> |
1087 有多少不同的值 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429191091781632
注意点:利用map或者set不重复的特点。
答案:
1 | #include <iostream> |
1 | #include<map> |
1088 三人行 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429286185074688
注意点:理解题意,丙不一定是整数。
答案:
1 | #include <iostream> |
1089 狼人杀-简单版 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429385296453632
注意点:https://blog.csdn.net/liuchuo/article/details/82560831
答案:
1 | #include <iostream> |
1090 危险品装箱 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1038429484026175488
注意点:https://blog.csdn.net/liuchuo/article/details/82560808
答案:
1 | #include <iostream> |
1091 N-自守数 (15 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785664454127616
注意点:注意to_string与substr的运用。
答案:
1 | #include <iostream> |
1092 最好吃的月饼 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785779399028736
注意点:
答案:
1 | #include <iostream> |
1093 字符串A+B (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785884776722432
注意点:hashTable思想,已经输出过的字符串不输出即可。
答案:
1 | #include <iostream> |
1094 谷歌的招聘 (20 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071785997033074688
注意点:擅长应用substr,stoi,以及考察素数。
答案:
1 | #include<iostream> |
1095 解码PAT准考证 (25 分)
https://pintia.cn/problem-sets/994805260223102976/problems/1071786104348536832
注意点:https://blog.csdn.net/liuchuo/article/details/84972869
答案:
1 | #include <iostream> |
分类与总结
分类与题目的对应
分类与题目的对应并不是一对一的关系,而是多对多的关系。分类表示可以用到某种特定的技巧,或者这题能归类到某种有规律的类型。
简单模拟
特点:直接依据题意处理。
- 1001
- 1006
- 1031
- 1041
- 1046
- 1051:数学问题
- 1061
- 1066
- 1071
- 1076
- 1077
- 1081
- 1082
- 1091
- 1092
暂未定义类型
特点:暂时无法归类到某种特殊的类型。
- 1003: 找规律
- 1008: 找规律
- 1010: 当没有给n的时候,使用EOF判断是否到结尾
- 1011: 数字范围的判断,int 2^31 10^9,long long 2^63 10^18
- 1012
- 1014: 字符串处理
- 1018
- 1020:找规律
- 1023:找规律,最高位打印除0以外最小的,其余的顺序从小到大按数量打印
- 1024:处理字符串
- 1028
- 1029:字符串处理
- 1048:字符串处理
- 1049:数学问题
- 1050:找规律
- 1052:字符串处理
- 1053
- 1055
- 1056
- 1058
- 1060
- 1063
- 1067
- 1070:找规律
- 1073
- 1088
- 1089
- 1090
- 1095
字符与数字的相互转化
特点:字符转化为数字的方法有
字符串转数字
- 确定是数字字符的,比如’9’,’8’等,直接减去字符’0’,ASCII的相差即为所求的数字。
- 使用stoi,把string类型的转化为数字。 (dev-c++ 工具-编译选项-编译器-编译 -std=c++11,stoi的用法)
sscanf(str,”%d”,&a);
, 将str(char[])赋给a(int)
数字转字符串
- 数字转化为字符串:使用标准库函数to_string()。
- 数字转化为字符串:使用
sprintf(str,”%d”,a);
,这意味着将a(int)赋给str(char[])
- 1002
- 1016
- 1018
- 1078
- 1084
- 1086
排序
特点:排序算法sort的使用,能够理解并手写一些排序算法,
比如,
(从小到大排序)
冒泡排序,(交换)(进行n-1趟,每趟n - 1 - i次交换,每趟把最大的交换到最后)
选择排序,(交换)(进行n趟,每趟把最小的换到最前)(想法与冒泡类似)
插入排序,(后移)(进行n-1趟,每趟把加入的数,换到合适的位置)
归并排序,(分治,合并)两两分组,之后重复合并。(非递归写法)
快速排序。
添加:字符串比较strcmp()
- 1004
- 1015:考察sort中cmp函数的编写,以及vector排序的方式
- 1035:插入与归并,需要大部分的排序算法与实现
hashTable思想
特点:hashTable的理解与使用。
- 当key是int的时候可以用范围合适的数组作为hashTable,记得数组的初始化可以用
{ 0 }
全部初始化为0,当不初始化为0的情况,也可以使用memset(a, -1, sizeof(a));
,也可以使用fill(a, a + i, -1)
。 - 当key是字符串的时候,应该使用map,注意map的遍历方式,以及map查询不到的情况的处理,当value为int的时候,可以将返回为0作为未查询到。
- 1005
- 1032
- 1033
- 1038
- 1039
- 1042
- 1043
- 1047
- 1059
- 1064:包括vector的排序
- 1065
- 1068
- 1069
- 1072
- 1080
- 1083
- 1085:***这题方法记下,关注map的遍历方式:
auto it = cnt.begin(); it != cnt.end(); it++
。auto类似于js的var,自动推导其类型。 - 1087
- 1093
素数
特点:牢记素数判断的函数,性能比较好的用sqrt开平方的那种。
- 1007
- 1013
- 1059
- 1094
大整数运算
特点:大整数的存储方式,大整数的加减乘除
- 1017
- 1021
- 1079
分数的四则运算
特点:特意背下。
- 1034
进制转化
特点:
- P进制转化为10进制:多项式累加
- 除基取余法:除以进制,留下余数,得到的商再除以进制。
- 1022
- 1057
- 1074
链表
特点:难,单独处理
- 1025(未完成)
- 1075
单位转化
特点:比如日期转化之类的
- 1026
- 1037
- 1044
图形输出
特点:找到规律,注意格式
- 1027
- 1036
二分查找与two pointer
- 1030:完美数列
左右两边问题
特点:属于同一种题,体会思想
- 1040:找规律
- 1045:找规律
sscanf与sprintf
特点:字符与其他格式做转化,可以利用不符合的情况下不赋值这一特性。
- 1054
最大公约数与最小公倍数
特点:辗转相除法
- 1062
stack
特点:需要倒序输出可以尝试用stack
- 1009
math与algorithm
algorithm
1 | max(),min(),abs(), |
math
1 | fabs(double x), floor(double x), ceil(double x), |