蓝桥杯真题训练
1-测试次数
X 星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。
各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。
X 星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的 22 楼。
如果手机从第 77 层扔下去没摔坏,但第 88 层摔坏了,则手机耐摔指 =7=7。 特别地,如果手机从第 11 层扔下去就坏了,则耐摔指数 =0=0。 如果到了塔的最高层第 nn 层扔没摔坏,则耐摔指数 =n=n。
为了减少测试次数,从每个厂家抽样 33 部手机参加测试。
某次测试的塔高为 10001000 层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?
k=1
while (k**3+5*k)/6<=1000:
k=k+1
else:
print(k)
解题思路: 参考博客:https://blog.csdn.net/qq_41923622/article/details/85038621?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164638302416780366586166%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164638302416780366586166&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-85038621.pc_search_result_cache&utm_term=%E8%93%9D%E6%A1%A5%E6%9D%AF+%E6%B5%8B%E8%AF%95%E6%AC%A1%E6%95%B0&spm=1018.2226.3001.4187
2-后缀表达式
给定 N 个加号、M 个减号以及 N + M + 1个整数
小明想知道在所有由这 N个加号、M 个减号以及 N + M +1个整数凑出的合法的 后缀表达式中,结果最大的是哪一个?
b = list(map(int,input().split(" ")))
a = list(map(int,input().split(" ")))
a.sort(reverse=-1)
sum = 0
if(b[1]==0):
for i in range(len(a)):
sum = sum + a[i]
print(sum)
else:
sum = a[0] - a[len(a)-1]
for i in range(1,len(a)-1):
sum = sum + abs(a[i])
print(sum)
***解题思路:***负号之间可以合并,但只要有负号,等合并后必要剩出来一个负号,这个负号用到最小值身上,其他数字不管正负,都取绝对值相加,因为前面负号已经合并了。若没有负号,就是正号,全部相加即可。