第一题:xxx定律:数n,如果是偶数,把n砍掉一半;如果奇数,把3n+ 1砍掉一半,直到数变为1为止。测试包含多个用例,当数为0时结束。输出需要经过几步将n变到1;
Input:
3
1
0
Output:
5
0
第二题:ZOJ,读入一个字符串,字符串中包含ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出,当某个字符用完时,剩下的仍然安装ZOJ的顺序输出。当读入的字符串为E时,结束。
Input:
ZZOOOJJJ
ZZZZOOOOOJJJ
E
Output:
ZOJZOJOJ
ZOJZOJZOJZOO
第三题:继续xxx定律,当n为3时,我们在验证xxx定律的过程中会得到一个序列,3,5,8,4,2,1,将3称为关键数,5,8,4,2称为覆盖数。现在输入n个数字,根据关键数与覆盖数的理论,我们只需要验证其中部分数就可以确定所有数满足xxx定律,输入输入的n个数中的关键数。
Input:第一行,n,第二行n个数,n为0时结束
3
3 8 4
0
Output:有多个关键数时逆序输出
3
第四题:寻找大富翁;输入n(0<n<=100000),m(0<m<=10),n为小镇上的人数,m为需要找出的大富翁数。输入:
n, m 接下来一行输入小镇n个人的财富值,输出:前m个大富翁的财产数,n为0时结束
Input:
3 1
2 5 -1
0 0
Output:
5
第五题: 找出直系亲属。如果A,B是C的父母亲,则A,B是C的parent,C是A,B的child,如果A,B是C的(外)祖父,祖母,则A,B是C的grandparent,C是A,B的grandchild,如果A,B是C的(外)曾祖父,曾祖母,则A,B是C的great-grandparenet,C是A,B的great-grandchild,之后再多一辈,则在关系上加一个great-。
输入:n(0<=n<=26)表示n个亲属关系,形式为ABC,表示A的父母亲分别是B,C,如果A的父母亲信息不全,则用-代替,例如A-C。m(。。。)代表测试用例数,形式AB。输出:AB的关系,如A是B的直系亲属,按上述要求输出关系,如果A,B没有关系,输出-。当n为0时结束。
Input:
3 2
ABC
CDE
EFG
FA
BE
0 0
Output:
great-grandparent
1