作者:小代码
时间:2013年9月1日 19:17:30
IDE:UE+GCC
代码:
C语言通过版:
#include<stdio.h>
const int TRUE = 1;
const int FALSE = 0;
int main( void )
{
int isOu( int n );//判断奇偶数
int fun( int n );//计算共需要几次计算
int a;
scanf("%d",&a);
while( 0 != a )
{
printf("%d\n",fun( a ));//输出结果
scanf("%d",&a);
}
//printf("\n\nHello World!\n");
return 0;
}
//判断奇偶数
int isOu( int n )
{
if( 0 == ( n % 2 ))
{
return TRUE;
}
else
{
return FALSE;
}
}
//计算共需要几次计算
int fun( int n )
{
int m = 0;
while( n > 1 )
{
if( TRUE == isOu( n ) )
{
n = n / 2;
//printf("n = %d\n",n);
m++;
}
else
{
n = ( 3 * n + 1 ) / 2;
//printf("n = %d\n",n);
m++;
}
}
return m;
}