18级数据结构实验考试题
从班级情况来看,近1/6一道题都没做出来,emmm这门课挂科率应该也没想象的那么高
平时作业的完成度和提交的速度会影响平时成绩
从作答成功率上看难度,由简单到难应该是:C>B≈D>A>>E,如果机试不是自己很擅长的考试方式,可以先考虑自己熟悉哪道题,拿分概率更高,然后再考虑看看排名榜单,哪个简单去做哪个
problem A:互质(测试题)【25】
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
给你一个正整数n,请问有多少个比n小的且与n互质的正整数?
两个整数互质的意思是,这两个整数没有比1大的公约数。
输入
输入包含多组测试数据。每组输入是一个正整数n(n<=1000000000)。当n=0时,输入结束。
输出
对于每组输入,输出比n小的且与n互质的正整数个数。
样例输入
7
12
0
样例输出
6
4
problem B:数组逆置【25】
- 时间限制: 1 Sec
- 内存限制: 32 MB
题目描述
输入一个字符串,长度小于等于200,然后将数组逆置输出。
输入
测试数据有多组,每组输入一个字符串。
输出
对于每组输入,请输出逆置后的结果。
样例输入
tianqin
样例输出
niqnait
提示
注意输入的字符串可能会有空格。
problem C:汽水瓶【25】
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
输入
输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1≤n≤100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。
输出
对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出 0
样例输入
3
10
81
0
样例输出
1
5
40
problem D:数列【15】
- 时间限制: 1 Sec
- 内存限制: 32 MB
题目描述
小明今天在做数学题的时候碰到这样一个问题,一个数列的定义如下:
f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7。
现在给你A,B和n的值,请问你f(n)的值是多少?
输入
输入包含多组测试数据。
每组输入3个整数A,B和n(1<=A,B<=1000,1<=n<=100000000),当输入的3个数都为0时,输入结束。
输出
对于每组输入,输出f(n)的值。
样例输入
1 1 3
1 2 10
0 0 0
样例输出
2
5
problem E:完全二叉树【10】
- 时间限制: 1 Sec
- 内存限制: 128 MB
题目描述
给定一棵树,你应该指出它是否是一个完全二叉树。
输入
对于每种情况,第一行给出正整数N(≤20),它是树中节点的总数(节点从0到N-1编号)。 然后是N行,第i行对应一个节点i,并给出节点i左右子节点的索引。 如果孩子不存在,则 - 将被置于该位置。
输出
对于每种情况,如果树是完全二叉树,则在一行中打印YES和层序遍历的最后一个节点的索引,或者如果不是,则打印NO和根的索引。 必须有一个空格分隔单词和数字。
样例输入
9
7 8
- -
- -
- -
0 1
2 3
4 5
- -
- -
样例输出
YES 8