蓝桥刷题记——python实现第二篇

1.卡片#统计1累计出现的次数

val=0
num=0
while True:
  num+=str(val).count('1')
  if num>=2021:
    print(val)
    break
  val+=1

2.直线#解析参考这位博主

#直线
x=[i for i in range(20)]
y=[i for i in range(21)]
zuobiao=set()
for i in x:
    for j in y:
        zuobiao.add((i,j))
zuobiao=sorted(zuobiao)
kb=set()
Tong=set()
for i in range(len(zuobiao)):
    for j in range(i+1,len(zuobiao)):
        if zuobiao[i][0] !=zuobiao[j][0]:#计算斜率和截距
            k=(zuobiao[i][1]-zuobiao[j][1])/(zuobiao[i][0]-zuobiao[j][0])
            b=(zuobiao[j][0]*zuobiao[i][1]-zuobiao[i][0]*zuobiao[j][1])/(zuobiao[j][0]-zuobiao[i][0])
            # b = (x2 * y1 - x1 * y2) / (x2 - x1)  # 截距公式——*建议加强记忆*
            kb.add((k,b))
        else:
            Tong.add(zuobiao[i][0])
print(len(kb)+len(Tong))

3.货物摆放#暴力

货物摆放
import math
n = 2021041820210418
num=0
chushu=set()
for i in range(1,int(math.sqrt(n))+1):
    if n%i==0:
        chushu.add(i)
        chushu.add

你可能感兴趣的:(python,蓝桥杯,平面)