高手帮忙看看这个程序,为什么答案是17,谢谢@!
问题描述:
这是一个古老的猜想:给定任何一个正整数n,对它进行以
下操作:
n是偶数:n=n/2
n是奇数:n=3*n+1
这样经过多步操作后,最后必定变为1
如对13进行操作: 13 -> 40 -> 20 -> 10 -> 5 -> 16 ->
8 -> 4 -> 2 -> 1
一共经历了9次操作,则称13这个数的周期是9
#include<stdio.h>
int pro(int n);
main()
{
int n,count=0;
printf("please input the numver: ");
scanf("%d",&n);
count=pro(n);
printf("the zhouqi is:%d",count);
getchar();
}
int pro(int n)
{
static int i=0;
if(n==1)
return ++i;
if(n%2==0)
{
n=n/2;
i++;
pro(n);
}
if(n%2==1)
{
n=n*3+1;
i++;
pro(n);
}
}