11-2 编程题
作业已超过截止时间,您无法递交本题目。
从一个指定的自然数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