求大神指导,本人初学 c。
											(1)输入一个正整数n;   (2)如果n=1则结束;
(3)如果n是奇数,则n变为3n+1,否则n变为n/2;
(4)转入第(2)步。
举一个例子:n=13的时候,经历10步可以达到1。
13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
请问10000以内,哪个数变为1需要转化的步骤多
以上是题目,可是我不知道怎么计算循环的次数。以下是我自己写的代码,但是统计不了次数,我不知道该怎么改。
 程序代码:
程序代码:#include<stdio.h>
int main()
{
    int n,p;
    int count=1;
    printf("输入一个整数n:");
    scanf("%d",&n);
    if(n==1)
    {
        printf("n=%d",n);
    }
    do
    {
        switch(p=n%2)
        {
        case 0:
            n=n/2;break;
        case 1:
            n=3*n+1;break;
        }
        printf("n=%d",n);
        printf("\n");
    }
    while(n!=1);        
}
	
		
			
		
	
										
					
	


 
											





 
	    

 
	