感觉难度参差不齐吧。可能也是我能力不够。。。。。
-
贴门牌号
找1,2020之间的数中包含2的数的个数
# 找1,2020之间的数中包含2的数的个数 ans = 0 for i in range(1, 2021): while i != 0: a = i % 10 if a == 2: ans += 1 break i = i // 10 print(ans) # 563
-
2020
给了一个300行300列的0和2数据,横着竖着斜着找有多少个2020
我用with open 读取数据
横着的好找,用line.count(‘2020’) 即可
竖着的:把矩阵转置后再count()
斜着的:当时最后又做的这个题,斜着的应该没找全,就提交了。。。。
-
跑步
说小蓝从2000年几月几号跑的那天是星期几(记不清了),包含这天,一直跑到2020年10月1号(也包含这天)。其中每个月的1号跑2000米,逢周一也跑2000米,赶巧是1号也是周一也是跑2000米,其余的日子跑1000米,问一共跑了多少千米。
import datetime dt = datetime.date(2000, 6, 3) # 2000-06-03周六,就从这天开始吧 dt2 = datetime.date(2020, 10, 1) delta = dt2 - dt # 中间有多少天 delta1 = datetime.timedelta(1) dist = 0 ans = 6 for i in range(delta.days): dt += delta1 ans += 1 if dt.day == 1 or ans % 7 == 1: dist += 2 ans = 1 else: dist += 1 print(dist) # 8630
-
排序
找出冒牌排序交换次数为100的字符串序列,最短,只有小写字母,不重复
我是把他逆序,因为最小的放在最后边他移动的次数最多,这样保证字符串最短,最后到了o,但是o不在最后,在倒数几个位置
-
蛇皮走位
这样的矩阵
1 2 6 7 15... 3 5 8 14... 4 9 13... 10 12... 11... ...
求第20行20列的数是几
我是直接用笔算的当时,累计为n(n+1)/2个数,然后往下排
-
成绩合格率优秀率
至少60 为及格
至少85为优秀
算及格率和优秀率
输入第一行为n,代表几个人的乘积,下边n行,为每个人的乘积,保证输入的都是整数>=0
输出两行 分别为及格率和优秀率,四舍五入
例如:
7
60
71
100
88
98
0
67输出
86%
43%n = int(input()) jige = good = 0 for i in range(n): s = int(input()) if 60 <= s < 85: jige += 1 elif s >= 85: good += 1 r1 = round((jige+good)/n, 2) r2 = round(good/n, 2) print(int(r1*100), '%', sep='') print(int(r2*100), '%', sep='')
-
平面切分
直线由y = Ax + B 确定
输入不同的A B
然后判断这些线把平面分成了几部分
样例
3
1 1
2 2
3 3
输出
6class Straight: def __init__(self, a, b): self.a = a self.b = b def relation(n): flag = True for i in range(n): for j in range(i+1, n): if line[i].a != line[j].a: flag = False # 不平行,求交点 x = -(line[i].b - line[j].b) / (line[i].a - line[j].a) y = line[i].a * x + line[i].b point.add((x, y)) break if flag: # 所有的线都平行 return n + 1 else: if len(point) == 1: # 所有的线相较于1个点 return 2 * n else: # 超过2个交点 return 2 * n + 1 n = int(input()) line = [] point = set() for i in range(n): a, b = list(map(int, input().split())) line.append(Straight(a, b)) print(relation(n))
-
最大成绩
类似于这个
3 4 5 6 7 8 ...
然后从上边走到底层,只有向左下或右下,且最多相差1,最后累计路线上的值,求最大的。
-
忘了
-
武器强化
不会,题都每读完,太长了