#include
#include
int main()
{
int n, p, ts = 0;
scanf("%d", &n);
if (n == 0)
{
printf("0不是正整数");
}
if (n == 1)
{
printf("%d", ts);
}
while ((n > 1) && (n <= 1000))
{
if ((n % 2) == 0)
{
p = n / 2;
}
else
{
p = (3 * n + 1) / 2;
}
n = p;
ts = ts + 1;
}
printf("%d", ts);
}
http://www.cnblogs.com/fengyucode/p/5427550.html
说实话我是真心不懂(3*n+1)/2猜想是什么东西,你能详细描述一下你的问题,不然真心爱莫能助。
当n=0,1,2时分别对应
0不是正整数
0
0
0
1