可恶,竟然找不到研究生组的真题。。。
就是这么暴力。到11时最先用完的卡牌是1,到21时最先用完的卡牌也是1,到2021时。。。你懂的!只需要查1是什么时候被用完的。
cnt = 2021
for i in range(99999):
temp = str(i)
for j in range(len(temp)):
if(temp[j] == '1'):
cnt -= 1
if(cnt == 0):
print(i)
break
import time
start = time.perf_counter()
n = eval(input())
num = set()
cnt = 0
for i in range(1,int(n**0.5)+1):
if(n % i == 0):
num.add(i)
num.add(n / i)
for i in num:
for j in num:
for k in num:
if(i*j*k == n):
cnt += 1
print(cnt)
end = time.perf_counter()
print(f"花费{end - start}秒")
最先想到的是三个for循环进行暴力破解。可恶,填空题是不会让我们这样捞分的,必须要进行优化。瞅瞅这个测试用例的设计,妥妥的到比赛结束也运行不出来。。。
所以老老实实先找到全部的约数吧!