- 博客(25)
- 收藏
- 关注
原创 L1-7 乘法口诀数列(PTA)
本题要求你从任意给定的两个 1 位数字 a1 和 a2 开始,用乘法口诀生成一个数列 {an},规则为从 a1 开始顺次进行,每次将当前数字与后面一个数字相乘,将结果贴在数列末尾。如果结果不是 1 位数,则其每一位都应成为数列的一项。
2025-04-15 21:00:23
386
原创 L1-6 大勾股定理(PTA)
是勾股定理的推广:对任何正整数 n 存在 2n+1 个连续正整数,满足前 n+1 个数的平方和等于后 n 个数的平方和。例如对于 n=1 有 32+42=52;n=2 有 102+112+122=132+142 等。给定 n,本题就请你找出对应的解。
2025-04-15 19:51:23
793
原创 7-3 A-B(PTA)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。
2025-04-03 20:56:42
320
原创 7-8 查验身份证(PTA)
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。
2025-04-03 19:37:36
767
原创 L1-3 帮助色盲(PAT)
在古老的红绿灯面前,红绿色盲患者无法分辨当前亮起的灯是红色还是绿色,有些聪明人通过路口的策略是这样的:当红灯或绿灯亮起时,灯的颜色无法判断,但前方两米内有同向行走的人,就跟着前面那人行动,人家走就跟着走,人家停就跟着停;如果当前是黄灯,那么很快就要变成红灯了,于是应该停下来。麻烦的是,当灯的颜色无法判断时,前方两米内没有人……本题就请你写一个程序,通过产生不同的提示音来帮助红绿色盲患者判断当前交通灯的颜色;但当患者可以自行判断的时候(例如黄灯或者前方两米内有人),就不做多余的打扰。
2025-03-29 21:00:18
496
原创 L1-8 编程团体赛(PAT)
编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。
2025-03-27 21:35:23
432
原创 L1-6 不变初心数(PAT)
不变初心数是指这样一种特别的数,它分别乘 2、3、4、5、6、7、8、9 时,所得乘积各位数之和却不变。例如 18 就是这样的数:18 的 2 倍是 36,3+6=9;18 的 3 倍是 54,5+4=9;…… 18 的 9 倍是 162,1+6+2=9。对于 18 而言,9 就是它的初心。本题要求你判断任一个给定的数是否有不变的初心。
2025-03-27 19:30:32
506
原创 L1-5 6翻了(PAT)
666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。
2025-03-27 16:22:48
591
原创 重点知识掌握
1.if((x*x+y*y+z*z)==3*x*y*z) //亦可pow(x,2)*pow(y,2)*pow(z,2);(但记得头文件要写<cmath>)
2025-03-26 20:58:10
93
原创 L1-7 整除光棍(模拟长除法)
然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。//因为l初始化为1,则一开始就存在1,故n初始化不为0,为1。//因为l初始化为1,则一开始就存在1,故n初始化不为0,为1。while(l%x!
2025-03-26 20:48:56
257
原创 L1-6 吃火锅(PAT)
以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有。
2025-03-20 15:20:13
1422
原创 L1-5 胎压监测(PAT)
小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序,随时监测四轮的胎压,并给出正确的报警信息。
2025-03-20 10:47:58
1397
原创 L1-7 前世档案(PAT)
网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。现在我们把结论从左到右顺序编号,编号从 1 开始。这里假设回答都是简单的“是”或“否”,又假设回答“是”对应向左的路径,回答“否”对应向右的路径。给定玩家的一系列回答,请你返回其得到的结论的编号。
2025-03-19 21:08:02
1218
原创 70. 爬楼梯
/求的是sum,且让dp[2]=sum,则直接给出dp[2]的值。//作一个数组,因为是从0到n,所以要做n+1的长度,不能做n。//求的是n阶,则给出dp[n]的数值。//直接初始化一个从长度为3的dp数组。i++) //直接从第三阶开始遍历。i++) //直接从第三阶开始遍历。1. 1 阶 + 1 阶 + 1 阶。有两种方法可以爬到楼顶。1. 1 阶 + 1 阶。2. 1 阶 + 2 阶。3. 2 阶 + 1 阶。
2025-03-18 10:25:09
235
原创 509. 斐波那契数
/从2开始遍历,则不会越出边界,dp[2]=dp[1]=dp[0]。//初始化dp[0]的状态。//可以发现,我们只需要维护两个数值就可以了,不需要记录整个序列。//故可把后一个数赋值给其前面的一个数,并以此类推,完成递归。//初始化dp[1]的状态。int dp[2];F(n) = F(n - 1) + F(n - 2),其中 n > 1。开始,后面的每一项数字都是前面两项数字的和。
2025-03-17 12:04:11
364
原创 77. 组合(剪枝优化)
/ n=5,K=4,path.size()为4,则5-(4-4)+1=2 则表示最大可选数2后进行完整的组合,// n=4,K=4,path.size()为0,则4-(4-0)+1=1 则表示最大可选数1后进行完整的组合。// n=4,K=4,path.size()为3,则4-(4-3)+1=4 则表示最大可选数4后进行完整的组合。{ //n-(K-path.size())计算出当前可选数字的最大边界,
2025-03-06 17:01:02
278
原创 77. 组合(回溯法)
/此时已经满足条件,path.size()==k,则进行下一轮选择,} //在原先的组合中回溯去掉尾部的元素,空出位置进行下一次的组合。vector<vector<int>>combine(int n,int k) //combine这里作的是一个接口的作用,if(path.size()==k) //作判断条件,如果path.size()==k,则当前已递归完毕,//作一个动态数组,用于存放当前递归过程已选择的元素。
2025-03-06 11:03:03
384
原创 P8218 【深进1.例1】求区间和(前缀和)
/上半段为O(n),下半段为O(m),故总时间复杂度为 O(n+m)。给定 n 个正整数组成的数列 a1,a2,⋯,an 和 m 个区间 [li,ri],分别求这 m 个区间的区间和。//如s[1]=s[0]+a[1],需知s[0]的具体数值。接下来 m 行,每行为两个正整数 li,ri ,满足1≤li≤ri≤n。对于 100% 的数据:1≤n,m≤105,1≤ai≤104。第二行,为 n 个正整数 a1,a2,⋯,an。
2025-03-03 19:43:10
449
原创 P1638 逛画展
游客在购买门票时必须说明两个数字,a 和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一张图画一元。//表示当前对应的画师的画作数量加一。if(cnt[a[j]]==1) //表示这是第一次有新画师的画作。if(cnt[a[i]]==0) //表示当前区间画师已无画作。//cnt[2005]是记录当前对应的画师的所有画数作。//num表示的是当前包含在内拥有画数作的所有画师。//a[1000005]是n输入的存储数组。
2025-03-03 16:35:39
690
原创 P1102 A-B 数对(双指针)
//求出a[i]-a[k]的差,当其等于c时,左边界停止右移。} //求出a[j]-a[k]的差,当其大于c时,右边界停止右移。给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。//这里是从a[0+1]=a[1]开始排序的,因为上面遍历是从a[1]开始的,对于 100% 的数据,1≤N≤2×105,0≤ai<230,1≤C<230。第一行,两个正整数 N,C。
2025-03-01 19:48:23
331
原创 双指针查找
输入 n 个不超过 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a1,a2,…,an,然后进行 m 次询问。对于每次询问,给出一个整数 q,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出 −1。
2025-03-01 16:02:03
323
原创 二分查找算法
while(l+1<r) //在(0,n+1)中,0和n+1都不包含在内,这么做是为了更好地区分边界,让0和n+1不会越界。//作开区间,方便函数能查询到全局的元素,确保(0,n+1)的数都在里面。if(a[mid]>=q) //取中间坐标的元素,若其大于q,则说明q在左边,可行区在右边。//当a[r]与q相等时,直接输出r,不等时则输出-1。//则应首先移动r,让r=mid,r往左边靠,离寻找值q更近。//输入完后运用函数二分查找出来位置 ,后面再直接输出出来。
2025-02-28 11:31:04
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人