CUMTOJ数据结构实验考试18级

2021-11-05  本文已影响0人  Redcarp

18级数据结构实验考试题

problem A:互质(测试题)【25】

题目描述

给你一个正整数n,请问有多少个比n小的且与n互质的正整数?
两个整数互质的意思是,这两个整数没有比1大的公约数。

输入

输入包含多组测试数据。每组输入是一个正整数n(n<=1000000000)。当n=0时,输入结束。

输出

对于每组输入,输出比n小的且与n互质的正整数个数。

样例输入

7
12
0

样例输出

6
4

problem B:数组逆置【25】

题目描述

输入一个字符串,长度小于等于200,然后将数组逆置输出。

输入

测试数据有多组,每组输入一个字符串。

输出

对于每组输入,请输出逆置后的结果。

样例输入

tianqin

样例输出

niqnait

提示

注意输入的字符串可能会有空格。

problem C:汽水瓶【25】

题目描述

有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是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】

题目描述

小明今天在做数学题的时候碰到这样一个问题,一个数列的定义如下:
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】

题目描述

给定一棵树,你应该指出它是否是一个完全二叉树。

输入

对于每种情况,第一行给出正整数N(≤20),它是树中节点的总数(节点从0到N-1编号)。 然后是N行,第i行对应一个节点i,并给出节点i左右子节点的索引。 如果孩子不存在,则 - 将被置于该位置。

输出

对于每种情况,如果树是完全二叉树,则在一行中打印YES和层序遍历的最后一个节点的索引,或者如果不是,则打印NO和根的索引。 必须有一个空格分隔单词和数字。

样例输入

9
7 8
- -
- -
- -
0 1
2 3
4 5
- -
- -

样例输出

YES 8
上一篇下一篇

猜你喜欢

热点阅读