11-2 编程题

测试数据来自 nnu_contest/5c63ce8bf41362044356fdaf

从一个指定的自然数x开始,按以下公式生成一个数列,直到x为1。计算数列的长度(数列中数的个数)
当x是偶数时,x=x/2;当x是奇数时,x=3*x+1。
例如:当x=7时生成的数列为:7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1。该数列的长度为17。
1.编写函数int linkrun(int a,int b,int *p),以[a,b]中所有自然数作为n0可以生成b-a+1个满足上述特性的数列,求出这些数列的长度并依次保存到p指向的数组中,函数返回p数组中的最大值。
2.编写main函数,声明变量a、b和一维数组P,输入两个自然数保存到a、b变量中,以a、b和P作为实参调用linkrun函数,输出P数组中存储的各数列的长度值和最大值。

测试案例:
输入:

5 9

输出:

6 9 17 4 20
20

信息

ID
1294
难度
9
分类
(无)
标签
递交数
3
已通过
3
通过率
100%
上传者