随意输入一个正整数,如果是偶数则除以2,如果是奇数则乘以3加1,如此反复,会发现无论最初的数是什么都会变为1。写一个程序验证。
#include<conio.h>
#include<stdio.h>
long process(long a)
{
if(0==a%2)
a=a/2;
else
a=3*a+1;
return a;
}
long initialize()
{
long a;
printf("please input a interger:");
scanf("%ld",&a);
if(a<=0)
{
printf("error input");
exit(0);
}
return a;
}
void main()
{
long a,i=0;
a=initialize();
while(1)
{
a=process(a);
printf("%ld ",a);
++i;
if(a==1)
break;
}
printf("/ni=%ld",i);
getch();
clrscr();
}