2025年兰州大学计算机保研机试真题
本文整理兰州大学计算机保研机试真题,并提供详细解析与代码实现,帮助同学们了解保研机试的难度与题型分布
最大序列和
题目描述
给出一个整数序列 $S$,其中有 $N$ 个数,定义其中一个非空连续子序列 $T$ 中所有数的和为 $T$ 的“序列和”。
对于 $S$ 的所有非空连续子序列 $T$,求最大的序列和。
变量条件:$N$ 为正整数,$N \leq 1000000$,结果序列和在范围 $(-2^{63}, 2^{63}-1)$ 以内。
输入格式
第一行为一个正整数 $N$,第二行为 $N$ 个整数,表示序列中的数。
输出格式
输入可能包括多组数据,对于每一组输入数据,仅输出一个数,表示最大序列和。
输入样例
5
1 5 -3 2 4
6
1 -2 3 4 -10 6
4
-3 -1 -2 -5
输出样例
9
7
-1
约瑟夫问题
题目描述
$ n $ 个人围成一圈,从第一个人开始报数,数到 $ m $ 的人出列,再由下一个人重新从 $ 1 $ 开始报数,数到 $ m $ 的人再出圈,依次类推,直到所有的人都出圈。
请输出依次出圈人的编号。
输入格式
输入两个整数 $ n $, $ m $ ($ 1 \leq m, n \leq 100 $)。
输出格式
输出一行 $ n $ 个整数,按顺序输出每个出圈人的编号。
输入样例
10 3
输出样例
3 6 9 2 7 1 8 5 10 4
促销计算
题目描述
某百货公司为了促销,采用购物打折的优惠方法,每位顾客一次购物:在 $1000$ 元以上者,按 $9.5$ 折优惠;在 $2000$ 以上者,按 $9$ 折优惠;在 $3000$ 以上者,按 $8.5$ 折优惠;在 $5000$ 以上者,按 $8$ 折优惠;编写程序,购物款数,计算并输出优惠价。
输入格式
购物款数。
输出格式
输出折扣率和实际支付金额,格式为 discount=x,pay=y。
输入样例
850
1230
5000
3560
输出样例
discount=1,pay=850
discount=0.95,pay=1168.5
discount=0.8,pay=4000
discount=0.85,pay=3026
素数判定
题目描述
给你两个数 $a$、$b$,现在的问题是要判断这两个数组成的区间内共有多少个素数。
输入格式
多组测试数据。
每个测试数据输入两个数 $a$、$b$。
$(2 \leq a, b \leq 1000)$
输出格式
输出该区间内素数的个数。
输入样例
2 4
4 6
输出样例
2
1
提示
请注意 $a$ 和 $b$ 的大小关系不定。
最大公共子串
题目描述
求两个字符串的最大公共子串,如果没有公共子串输出 $None$。
输入格式
输入字符串 $s1$ 和 $s2$,字符串长度小于 $100$。
输出格式
输出 $s1$ 和 $s2$ 的最大公共子串,如果有多个输出第一个。
输入样例
aaaxbbb
aaacbbb
输出样例
aaa