蓝桥杯|2021年第十二届蓝桥杯省赛Python组(真题+解析+代码)(货物摆放)

1 真题 【蓝桥杯|2021年第十二届蓝桥杯省赛Python组(真题+解析+代码)(货物摆放)】蓝桥杯|2021年第十二届蓝桥杯省赛Python组(真题+解析+代码)(货物摆放)
文章图片

2 解析 难度系数:??
考察题型:枚举 数论
涉及知识点: 约数 集合

思路分析:
长宽高,三重循环,枚举暴力,yyds!(′▽`???)
两个知识点:一个是约数,另一个是集合。
1、判断约数算法: n%i==0
约数指的是被整除后没有余数的数。
举个栗子:3%1==03%3==01和3就是3的约数。
2、创建集合容器方法:docker=set()
选用集合作为容器存放数据,是因为集合的数据不会重复。相同的数据不会重复添加。
3 代码
n=2021041820210418#货物数量 cnt=0#统计值赋初始值0 docker=set()#创建集合属性的容器 for i in range(1,int(n**0.5)+1): #循环遍历,筛选n的约数(对n开根号的写法是为了加快速度) if n%i==0:#如果可被整除,判断为约数 docker.add(i)#添加约数 docker.add(n//i) for i in docker:#三重循环遍历容器(三重循环快到运行5s出结果) for j in docker: for k in docker: if i*j*k==n:#满足条件,方案数+1 cnt+=1 print(cnt)#输出结果:2430


我写的是关于蓝桥杯的系列题解,感谢关注我的朋友们,我会持续输出高质量文章

蓝桥杯python组十二届省赛真题+解析+代码(通俗易懂版)_编程有了思路-CSDN博客_蓝桥杯大赛python小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。小蓝想知道自己能从 1 拼到多少。例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1拼到多少?https://blog.csdn.net/m0_55148406/article/details/122774029

    推荐阅读