请教高手一道C语言题

数论中有许多猜想尚未解决,其中有一个被称为“角谷猜想”的问题,该问题在五、六十年代的美国多个著名高校中曾风行一时,
这个问题是这样描述的:任何一个大于一的自然数,如果是奇数,则乘以三再加一;如果是偶数,则除以二;得出的结果继续按照前面的规则进行运算,
最后必定得到一。现在请你编写一个程序验证他的正确性。
输入格式
题目包含多组测试数据,第一行为测试数据组数N,接着是N行的正整数。
输出
输出验证“角谷猜想”过程中的奇数,最后得到的1不用输出;每个测试题输出一行;每行中只有两个输出之间才能有一个空格;如果没有这样的输出,
则输出:No number can be output !。
样例输入
4
5
9
16
11
样例输出
5
9 7 11 17 13 5
No number can be output !
11 17 13 5
这题中请问样例输出是个什么意思,没看懂? 怎么会有 7 11 17 13 5 既然没有这样的输出就输出 no number can be output为什么后面还有四个数字,请高手解答.谢谢

样例输入 4 表示有四组输入
然后对应的5 | 9 | 16 | 11就是四个输入
输入5 对应的输出 5
输入9 对应的输出9 7 11 17 13 5

输入16对应的输出No number can be output !

输入11对应的输出11 17 13 5
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-06
#include"stdio.h"
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int m,count=0;
scanf("%d",&m);
while(m!=1)
{
if(m==5){printf("%d\n",m);count++;break;
}
if(m%2!=0) {printf("%d ",m);count++;
}
if(m%2==1) m=m*3+1;
else m=m/2;
}
if(count==0) printf("No number can be output !\n");
}
return 0;
}
相似回答