当前位置:   article > 正文

【持续更新】蓝桥杯python组真题_蓝桥杯python历年真题

蓝桥杯python历年真题

原则:1、所有的题都来自蓝桥官网提供的历年真题

2、不一定全是python组的,但所有回答都会用python语言写出

3、我尽量一天至少做一道...

一、卡片

  1. a=[]
  2. for i in range(0,10):
  3. a.append(2021) #0到9,每个数字2021张
  4. def num(n):
  5. while n>0:
  6. if n/10 == 0:
  7. a[n]=a[n]-1
  8. else:
  9. a[n%10]=a[n%10]-1
  10. n=n//10
  11. for i in range(1,10000): #每拼一个数少对应的牌
  12. num(i)
  13. if 0 in a:
  14. print(i)
  15. break
'
运行

二、直线

在验证我的答案是否正确时,发现了我的思路的上位替代,于是把它贴下:

  1. li = set() #集合去重
  2. li1 = []
  3. m, n = map(int, input().split()) #输入
  4. for x in range(m):
  5. for y in range(n):
  6. li1.append([x, y]) #以坐标点的方式,存储于二维数组中
  7. def sameline(a, b):
  8. global li
  9. if a[0] == b[0] or a[1] == b[1]: #如果在同一条直线上,则不计数
  10. pass
  11. else:
  12. k = (b[1] - a[1]) / (b[0] - a[0])
  13. b = a[1] - k * a[0]
  14. li.add((k, b))
  15. for a in li1:
  16. for b in li1:
  17. sameline(a, b)
  18. print(m + n + len(li))

 三、货物摆放

啊哈哈,鸽王来咯

“胡适之啊胡适之,你怎能如此堕落”

先求n的约数,再暴力循环一下就可

  1. a=[1]
  2. n=2021041820210418
  3. sum=0
  4. for i in range(2,100000000):
  5. if n%i==0:
  6. a.append(i)
  7. for i in a:
  8. temp=n//i
  9. if temp not in a:
  10. a.append(temp) #列表a存储n的所有约数
  11. for i in range(len(a)):
  12. for j in range(len(a)):
  13. for t in range(len(a)):
  14. if a[i]*a[j]*a[t]==n:
  15. sum=sum+1
  16. print(sum) #输出结果2430
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/1013518
推荐阅读
相关标签
  

闽ICP备14008679号