填空(答案已测试)
试题A:美丽的2(5)
count=0
for i in range(1,2021):
if "2" in str(i):
count+=1
print(count)
试题B:合数个数
count=0
for i in range(4,2021):
for j in range(2,i):
if i%j==0:
count+=1
break
print(count)
试题C:阶乘约数(10
试题D:本质上升序列
tocyjkdzcieoiodfpbgcncsrjbhmugdnojjddhllnofawllbhf
iadgdcdjstemphmnjihecoapdjjrprrqnhgccevdarufmliqij
gihhfgdcmxvicfauachlifhafpdccfseflcdgjncadfclvfmad
vrnaaahahndsikzssoywakgnffjaihtniptwoulxbaeqkqhfwl
试题E:玩具蛇(15)
编程
试题F:天干地支(15)
t=["jia","yi","bing","ding","wu","ji","geng","xin","ren","gui"]
d=["zi","chou","yin","mao","chen","si","wu","wei","shen","you","wu","hai"]
n=int(input())
if n >2020:
print(t[((n-2020)%10+6)%10],end="")
print(d[(n-2020)%12],end="")
else:
print(t[(6-(2020-n)%10)%10],end="")
print(d[(12-(2020-n)%12)%12],end="")
print()
t=["geng","xin","ren","gui","jia","yi","bing","ding","wu","ji"]
d=["zi","chou","yin","mao","chen","si","wu","wei","shen","you","xu","hai"]
n=int(input())
m=(n-2020)%10
q=(n-2020)%12
print(t[m]+d[q])
试题G:重复字符串(20)
k=int(input())
s=input()
if len(s)%k!=0:#排除不能均分k个字符串的情况
print(-1)
else:
ans=[]
lenn=int(len(s)/k)
li=[s[i:lenn+i] for i in range(0,len(s),lenn)]
#暴力,按照哪个来修改呢,全部计算一遍
for i in range(k):
count=0
for j in range(k):
if i == j:continue
for l in range(lenn):
if li[i][l]!=li[j][l]:
count+=1
ans.append(count)
print(min(ans))
试题H:答疑(20)
n= int(input())
time=[]
res=0
for i in range(n):
m,p,q=map(int,input().split())
res=max(q,res)
time.append([m+p,q])
time.sort(key=lambda x:(x[0],x[1])
##for i in range(n-1,-1,-1):
## if time[i][1]==res:
## li=time.pop(i)
## time.append(li)
pre=0
cur=0
ans=[]
for i in time:
cur=i[0]+pre
ans.append(cur)
pre=i[0]+i[1]+pre
print(sum(ans))
n= int(input())
time=[]
res=0
for i in range(n):
m,p,q=map(int,input().split())
res=max(q,res)
time.append([m+p,q])
time.sort(key=lambda x:(x[0]+x[1]))#变成+号就是100
pre=0
cur=0
ans=[]
for i in time:
cur=i[0]+pre
ans.append(cur)
pre=i[0]+i[1]+pre
print(sum(ans))
试题I:补给(25)
试题J:蓝跳跳(25)
k,p,L=map(int,input().split())
can=[(i+1) for i in range(k)]
path=[]
count=[0]
def backtracking(can,count):
if sum(path)==L:
count[0]+=1
return
if sum(path)>L:
return
for i in range(k):
if i+1>=p and path:
if path[-1]>=p :
continue
path.append(can[i])
backtracking(can,count)
path.pop()
backtracking(can,count)
print(count[0]%20201114)