【蓝桥杯】不会用全排列,那就直接上for循环
🚩拿下蓝桥省赛
这两天没有更新博客,有点事多,就没更新,今天给大家更新一下蓝桥杯全排列的题,不会可以用for循环来解。
🚗 1.饮料换购
饮料厂举办一次促销优惠活动,乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果小明不浪费瓶盖,尽可能地参加活动,那么,对于他初始买入的n瓶饮料最后他一共能喝到多少瓶饮料?
输入:一个整数n,表示开始购买的饮料数量(0<n<10000)
输出:一个整数,表示实际得到的饮料数
看到这道题不知道大家有没有想到冰红茶呢(童年回忆),这是一道往年的编程大题,还是非常简单的,根本没用到什么算法,最主要的是大家别忘记加上它最开始买的n瓶。
🚓 2.牌型种数
小明被劫持到X赌城,被迫与其他3人玩牌。
一副扑克牌(去掉大小王,共52张),均匀发给4个人,每个人13张
这时,小明脑子里突然想到一个问题:
如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?
这种题只能去穷举暴力遍历所有情况,只能使用回溯的方法去搜索所有的方法,而且因为是不分花色,每张牌都有相同的四张,所以我们还需要去重。不会回溯的同学一定要先去学习回溯,对于蓝桥杯来说非常的重要,因为需要枚举的情况可能性太多,只能通过回溯去搜索。
🚕3.煤球数目
有一堆煤球,堆成三角棱锥体。具体:
第一层放1个,第二层3个,第三层6个,第四层10个,.............如果一共有100层,共有多少个煤球?
题目还是比较简单的,我们找出相加的规律即可。从第一层开始,循环到100,然后a+i,在用count+a即可。
🛺4.生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
这道题也是比较基础的题目,我们从1开始遍历,每次往后加即可,如果能恰好加到236,说明就是这个数,如果超过236说明就不是。继续下一个数的累加,直到找到答案。
🚙5.凑算式(10个for循环或全排列)
这道题哈,其实就用for循环就可以,9个数字,9个for循环就行,在判断每个数字不相等,然后在带入公式即可。
for循环:
🚌6.纸牌三角形(全排列或9个for循环枚举)
这道题目,又是典型的全排列问题,比较容易让人出错的地方就是一种情况经过旋转和镜像会产生多少种?答案是六种,如图这样的情况,经过镜像会产生另外一种,旋转以后可以得到两种,旋转再镜像又可以得到两种,加一起就是六种。所以我们直接算出的答案去重的话需要除以六才是标准的答案。
for循环:
🚀最后
让我们红尘作伴,活得潇潇洒洒,拿下蓝桥。
- 点赞
- 收藏
- 关注作者
评论(0)