
蓝桥杯练习题
文章平均质量分 71
CodingFire
从移动端到跨平台,从跨平台到Java,学习是一件让人开心的事,也是一件孤独的事。所谓君子慎独,不欺暗室。共勉之!
展开
-
蓝桥杯练习题十四 - 次数差(c++)
大体看起来计算方法是没错的,当看到第一个for循环的时候还是发现了问题,if怕断中b[i]==a[j+1]似乎是有问题的,第一次出现的字符我们默认是一次,这里直接忽略了第一位,那最大值不变,但是总值要小1,最小值很可能就改变了,本来出现一次的是最小值,结果直接变成了0,最小值变化,结果是有可能和原值一样的,但存在一定的概率,我们不敢赌每次都一样,所以C一定是错误的。惯例先吐槽这类选择题,太折磨人了,还是那句话,做对一道题很容易,难的是用多种方法做出同一道题。题目大家也看完了,如果是你,你会怎么做?原创 2022-10-12 11:04:38 · 1015 阅读 · 0 评论 -
蓝桥杯练习题十三 - 猜字母(c++)
选项B,C恰好是按照这种方式来做,只有A和D貌似有点怪异,但是细看会发现D里面vc1.push_back('a' + (i % 19));问题就在这个%19上,这样就保证了字母是不会累加到z上去,最终的几过河BC还是一样的。一道题目,如果思路都错了,那答案怎么可能对呢?接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。一个字符串拼接106次,删除奇数位,如此循环往复,直到剩下一个字符为止!题目不难,有些基础基本上都能做对,不知道你有没有找出那个错误的答案呢?原创 2022-09-27 14:02:07 · 1300 阅读 · 2 评论 -
蓝桥杯练习题十三 - 第几个幸运数(c++)
到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。我们来看前10个幸运数字是:3 5 7 9 15 21 25 27 35 45 因而第11个幸运数字是:49小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。原创 2022-09-09 11:58:41 · 556 阅读 · 1 评论 -
蓝桥杯练习题十二 - 分数(c++)
1/1 + 1/2 + 1/4 + 1/8 + 1/16 + … 每项是前一项的一半,如果一共有20项,求这个和是多少,结果用分数表示出来。类似:3/2当然,这只是加了前2项而已。分子分母要求互质。下面哪一项是错误的?原创 2022-09-07 10:05:33 · 627 阅读 · 0 评论 -
蓝桥杯练习题十一 - 乘积尾零(c++)
的练习题,其理念是一样的,这里还有另一重含义,就是决定尾0的肯定不是前面几位,除非这个数后面本身就有很多0,但这种情况依然逃不过while的制裁,制裁后sum所剩无几,根本用不到10000取余,若是大于10000且没有尾0的数,先看看会不会超出作用域,这恐怕是必然,用后几位做运算绝对是可以满足条件的。算出总共的2和5的数,取最小的那个,就是一共有多少对,这里就忽略了为0时的情况,因为是对2和5取余的,同学们不要有所怀疑,我只能说,这是个规律问题,或者说是个高等数学问题,莫要纠结。原创 2022-09-05 22:14:53 · 1926 阅读 · 3 评论 -
蓝桥杯练习题十 - 煤球数目(c++)
f[i]是有规律的,你会发现f[i]总是等于f[i-1]+i,那么f[100]自然就是f[99]+100,所以这里要分别求出f[99]及其前面的每一项才能最终得到f[100]的值。这道题整体上很简单,算是给一路看过来的朋友做个减负,前面的题可是有一些比较难的,今天就相对轻松点吧。答案是肯定的,由于f[i]总是等于f[i-1]+i,那么我们是不是可以在一个for循环中完成所有的运算呢?就这么简单的一修改,效率提升了一半,我们在日常的开发中,类似的场景还有很多,都是我们降本提效的方式。原创 2022-09-01 21:40:51 · 2163 阅读 · 2 评论 -
蓝桥杯练习题九 - REPEAT 程序(c++)
所以,这里,我们要讲的是另一种解法,以算法的思维来解题,这也是蓝桥杯想要带给我们的东西,凡事不能蛮干,要动脑筋,我们国家发展到如今的地步,靠的绝对不是蛮干,而是一辈辈先烈们舍小家为大家的中国心和为人民谋未来的圣人之心。代码比较固定,通过FILE来读取即可,这里博主就是说的天花乱坠也说不出个所以然了,没什么太大难度,代码都是固定式,注释也说的很明白,需要注意的是,里面定义的几个变量,比较多,后面用起来不要搞乱了。循环控制的范围由缩进表达,从次行开始连续的缩进比该行多的(前面的空白更长的)为循环包含的内容。..原创 2022-08-31 16:32:00 · 1495 阅读 · 0 评论 -
蓝桥杯练习题八 - k倍区间(c++)
假设这4个累加和下表分别是i,j,k,l那么有,l-i,l-j,l-k有人说,不是还有个j-i和k-i,k-j吗?这个很明显,只要整数取余为0,那必然是符合k区间条件的,这里ans++应该不难理解,因为sum中存储的全是余数,必然不会全是0,有人会有疑惑,假如有多个不为0的余数存在,那么sum[i] == 0这个条件还能成立吗?到这里,今天的学习就要结束了,说实话,这个题真TM难,就这,还被列入了简单之类,😂但是你要是听懂了,你会发现其实也不难,就是一个理念问题,可问题是,这样的理念不是一般人想的出来的。.原创 2022-08-29 16:24:30 · 922 阅读 · 0 评论 -
蓝桥杯练习题七 - 第几天(c++)
y年m月d日是哪一年的第几天。比如y年的1月1日是那一年的第一天,那么2000年7月7日是那一年的第几天。原创 2022-08-28 13:14:27 · 1151 阅读 · 0 评论 -
蓝桥杯练习题六 - 大数乘法(c++)
对于32位字长的机器,大约超过20亿,用int类型就无法表示了,我们可以选择int64类型,但无论怎样扩展,固定的整数类型总是有表达的极限!如果对超级大整数进行精确运算呢?一个简单的办法是:仅仅使用现有类型,但是把大整数的运算化解为若干小整数的运算,即所谓:“分块法”。............原创 2022-08-27 13:58:32 · 504 阅读 · 0 评论 -
蓝桥杯练习题五 - 四平方和(c++)
这里反其道而行之,不通过二分法下标去寻找值,而是根据t,也就是留给c和d平方和的最大数作为key去ans中寻找是否存在这样的sum值,这个sum值在上面介绍了,是c和d的平方和,被作为key存入了map中,只要ans.count(t)!这段代码是将c的平方和d的平方相加作为s,然后将s,c,d存入了结构体Node中,继而存入初始值为1的sum数组中,这样就得到了所有满足条件的c和d ,还有其平方和的值s。输出,并直接返回,此时的a,b,c,d即是符合题目要求的,按从小到大排序的合理数字。......原创 2022-08-26 22:12:30 · 772 阅读 · 4 评论 -
蓝桥杯练习题四 - 排它平方数(c++)
没错,几乎一样,注意,敲黑板了,很重要的一点,第二个for循环中只通过num[b % 10]去取值,但是没有进行赋值操作,也就是第一个for循环中num[a % 10]++的操作,这里只做了取值来判断num中对应的数字下标位置是否有值,有值,说明重复,flag=0,跳出循环,继续下一个值,没有值,说明不重复,直到验证完每一位的值之后,输出i。第六次循环时if里面是num[1],num[1]是0,条件不成立,num[1]++,num[1]是0,num[1]++后就是1,这时的num是多少呢?.........原创 2022-08-25 21:26:55 · 557 阅读 · 0 评论 -
蓝桥杯练习题三 - 纸牌三角形(c++)
按照所有可能出现的新的排列方式进行不重复的全排列,也称为全排列,若下一个排列存在,则返回true,如果不存在则返回false。2、在生活中你照镜子的时候会发现,当你抬起左手时,你会看到镜子中的你会抬起右手。2、在生活中你照镜子的时候会发现,当你抬起左手时,你会看到镜子中的你会抬起右手。按照顺时针顺序或者逆时针顺序,给每个数字所在的位置一个下标,谁是几其实无所谓,但需要下表的位置固定,数字轮换。要求每个边的和相等。res是最终出现的x1=x2=x3情况的总数,但是注意中说了三次旋转不算,镜像不算。...原创 2022-08-24 21:15:14 · 543 阅读 · 0 评论 -
蓝桥杯练习题二 - 合并检测(c++)
如果结果为阳性,则说明 至少有一个人为阳性,需要将这 k 个人的样本全部重新独立检测(从理论上看, 如果检测前 k−1 个人都是阴性可以推断出第 k 个人是阳性,但是在实际操作中 不会利用此推断,而是将 k 个人独立检测),加上最开始的合并检测,一共使用 了 k + 1 个试剂盒完成了 k 个人的检测。其实题中已经给出了部分代码,不过博主个人认为这个解题思路有点理解不了,很难让人明白为什么要这么做,有兴趣的同学可以顺着这个思路想下去,欢迎评论区讨论。设检测人数为100人,根据概率为1%,则只有1个为阳性。.原创 2022-08-23 17:34:37 · 507 阅读 · 0 评论 -
蓝桥杯练习题一 - 生日蜡烛(c++)
人的寿命我们认为是1-100之间的一个整数,不要抬杠超过100的年龄啊,哈哈!不过此处超过100的年龄没有合适的数字相加等于236,也没关系。当sum>236时返回重新开始,初始值+1,重新累加,直到sum=236为止,这道题还是比较简单的,虽然简单,但是有什么问题,还是欢迎大家评论区讨论。注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。这是一个计算某段连续的年龄之间的数字累加和等于236的问题。此时,输出最后那位的j的值,就是他当前的年龄。所以,在1-100之间的数字之间做累加,...原创 2022-08-23 17:26:51 · 865 阅读 · 4 评论