【持续更新】蓝桥杯python组真题
原则:1、所有的题都来自蓝桥官网提供的历年真题
2、不一定全是python组的,但所有回答都会用python语言写出
3、我尽量一天至少做一道...
一、卡片
a=[] for i in range(0,10): a.append(2021) #0到9,每个数字2021张 def num(n): while n>0: if n/10 == 0: a[n]=a[n]-1 else: a[n%10]=a[n%10]-1 n=n//10 for i in range(1,10000): #每拼一个数少对应的牌 num(i) if 0 in a: print(i) break
二、直线
在验证我的答案是否正确时,发现了我的思路的上位替代,于是把它贴下:
li = set() #集合去重 li1 = [] m, n = map(int, input().split()) #输入 for x in range(m): for y in range(n): li1.append([x, y]) #以坐标点的方式,存储于二维数组中 def sameline(a, b): global li if a[0] == b[0] or a[1] == b[1]: #如果在同一条直线上,则不计数 pass else: k = (b[1] - a[1]) / (b[0] - a[0]) b = a[1] - k * a[0] li.add((k, b)) for a in li1: for b in li1: sameline(a, b) print(m + n + len(li))
三、货物摆放
啊哈哈,鸽王来咯
“胡适之啊胡适之,你怎能如此堕落”
先求n的约数,再暴力循环一下就可
a=[1] n=2021041820210418 sum=0 for i in range(2,100000000): if n%i==0: a.append(i) for i in a: temp=n//i if temp not in a: a.append(temp) #列表a存储n的所有约数 for i in range(len(a)): for j in range(len(a)): for t in range(len(a)): if a[i]*a[j]*a[t]==n: sum=sum+1 print(sum) #输出结果2430
上一篇:
IDEA上Java项目控制台中文乱码