2024测试1A卷¶
题目1 Welcome¶
Description¶
在屏幕上输出 ECNU 2024 字样。
Input¶
⽆输⼊
Output¶
输出 ECNU 2024 字样
Sample Input 1¶
Sample Output 1¶
ECNU 2024
题目2 输出闰年¶
Description¶
输出指定年份区间内的所有闰年年份,如果不存在闰年,则输出 NO 。
Input¶
程序接收⽤⼾输⼊的两个正整数 M 和 N ,其中 400<=M<=N<=3101,表⽰开始年份和结束年份。
Output¶
输出开始年份(含)⾄结束年份(含)之间所有的闰年,以1个空格间隔;如果不存在闰年,则只输出 NO 字样。
注意:最后⼀个年份输出后不得输出多余的空格。
Sample Input 1¶
2000 2000
Sample Output 1¶
2000
Sample Input 2¶
1900 1901
Sample Output 2¶
NO
Sample Input 3¶
1896 1920
Sample Output 3¶
1896 1904 1908 1912 1916 1920
Hint¶
如果⼀个年份是闰年,则其年份数字,能被 4 整除,但不能被 100 整除;或者能被 400 整除。
例如2000年、2004年是闰年,1900年、2001年不是闰年。
题目3 ⽅差¶
Description¶
求⼀组⾮负整数样本的⽅差并输出。
Input¶
第 1 ⾏为样本数量 N,其中 N<=100;
第 2 ⾏为 N 个⾮负整数,每个数字介于 [0,100],每个数字间以 1 个空格分隔。
Output¶
该组样本的⽅差值,保留⾄⼩数点后 2 位。
Sample Input 1¶
1
52
Sample Output 1¶
0.00
Sample Input 2¶
10
21 20 50 71 8 6 39 63 13 36
Sample Output 2¶
474.41
Hint¶
⽅差计算公式:
其中:
题目4 转置矩阵¶
Description¶
输出⼀个输⼊矩阵的转置矩阵。
Input¶
第⼀⾏为 2 个介于 [1,10] 正整数 M 和 N ,表⽰矩阵的⾏数和列数;
第⼆⾏开始为矩阵的每⼀⾏元素,每个元素值介于 [-20, 20],每个元素之间以 1 个空格间隔。
Output¶
该矩阵的转置矩阵,应输出 N ⾏ M 列:
转置矩阵每⾏每个元素之间以 1 个空格间隔。
注意:输出最后一个矩阵元素后,不得输出多余的空格或空⾏。
Sample Input 1¶
2 3
1 2 3
4 5 6
Sample Output 1¶
1 4
2 5
3 6
Sample Input 2¶
2 2
12 -7
9 0
Sample Output 2¶
12 9
-7 0
题目5 ⾝份证号码校验¶
Description¶
对用户输入的⾝份证号进⾏校验。
Input¶
18位⾝份证号,其中若包含X,保证输⼊为⼤写字⺟。
Output¶
若⾝份证号校验合法,输出 OK 字样;否则输出 ERROR 字样。
Sample Input 1¶
42280119751112119X
Sample Output 1¶
OK
Sample Input 2¶
350781201009233248
Sample Output 2¶
ERROR
Hint¶
公⺠⾝份号码共 18 位,第 18 位为校验位。
-
将第 1〜17 位按以下权重值【7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2】依次相乘,并累加;
-
将累加结果对 11 取余数;
-
取余结果为 0〜10,对应的公⺠⾝份号码第 18 位应为 【1,0,X,9,8,7,6,5,4,3,2】。
题目6 ⼗进制转换为⼗六进制¶
Description¶
将输⼊的⼗进制正整数转换为⼗六进制,并输出。
Input¶
1 个⼗进制正整数,保证⼩于等于 20,000,000。
Output¶
该数的⼗六进制表示法,其中使⽤大写字母表示 A-F 。
Sample Input 1¶
15
Sample Output 1¶
F
Sample Input 2¶
133932
Sample Output 2¶
20B2C
Hint¶
⼗六进制包含 16 个数码:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
其中 A〜F 表⽰ 10〜15。
可通过不断记录对16取余数的结果后对16整除,直⾄数字为 0,最后将所有记录结果逆序输出。