原则: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