问题提出:
角谷猜想 又称 冰雹猜想。
对于 一个正整数n:
1)如果 n 为偶数,就将它变为 n/2;
2)如为奇数,则将它 乘3加1(3n+1);
不断重复这样的运算,经过有限步后,一定可以得到1吗?
解题思路:
和 哥德巴赫猜想一样,作者也不会去证明它,还是写个程序来进行验证。
参考代码:
/* linolzhang 2007.06
角谷猜想
*/
#include <stdio.h>
int main()
{
while(true)
{
printf("请输入数字:");
int n;
scanf("%d", &n);
int count = 0; // 运算次数
while(n != 1)
{
count++;
if(n%2 == 0)
n = n / 2; // 偶数 n=n/2
else
n = n * 3 + 1; // 奇数 n=n*3+1
if(n == 1)
printf(" %d\n\n",n);
else
printf(" %d >",n);
}
}
return 0;
}