第二届全国大学生算法设计与编程挑战赛
比赛日期:2020.11.15 早上9:00——下午14:00
共十个赛题。
loading......
x = 13930
y = 457439
count = 0
for num in range(x,y+1):
num_list = list(str(num))
flag = True
if abs(int(num_list[0])-int(num_list[-1])) >2 :
n = len(num_list)
for i in range(0,n-1):
if abs(int(num_list[i])-int(num_list[i+1])) <= 7:
pass
else:
flag = False
break
else:
flag = False
if flag:
count += 1
print(count)
结果:
180692
loading......
n = 10 #跑道长度
role_style = ['>.wwws..s.','.>.wwws.s.','>>>>>s.m.m','>w.wss..s.']
for role in role_style:
v = 1
T = 0
t = 0
tc = 0
r_list = list(role)
for item in r_list:
if item == '.': #平地
if tc > 0 :
t = 1/v
else:
v = 1
t = 1 / v
elif item == 'w': #水坑
if tc > 0:
t = 1/v*2
else:
t = 1/0.5
elif item == '>': #加速
v = 2 #持续时间5s
t = 1/v
tc = 5 #持续时间5s
elif item == 's': #石块,原地停留一秒,变平地
if tc-1 > 0:
t = 1 + 1/v
else:
v = 1
t = 1 + 1/v
elif item == 'm': #魔物
if tc-2 > 0:
t = 2 + 1 / v
else:
v = 1
t = 2 + 1 / v
else:
print('输入有误')
tc =tc -t
T += t
print(T)
结果:
11.0
11.0
11.0
11.5
loading......
num = 1
sum = 1
for i in range(2,31):
num = num*(num+5)
sum += num
print(sum%1000000007)
结果:
937527335
from scipy.special import comb
k,a,b,l,r = 1,1,1,2,3
f1 = 1
f2 = 1
f_list = [f1,f2]
for f in range(r):
fn = a*f_list[-1] + b*f_list[-2]
f_list.append(fn)
G = 0
for i in range(l,r+1):
G += comb(f_list[i-1],k) #排列组合求和
print(int(G))
结果:
3
loading......
loading......
loading......