Collatz猜想 (3n+1猜想)
这是是一个著名的数学问题,至今没有证明其正确性,也没证明其是错误的,即任何一个正整数N,如果是偶数的话就除以2,如果是奇数的话就乘以3再加上1,最后这个数都会变为1。
- 公式如下:
C语言实现代码
#include <stdio.h>
#include <stdlib.h>
int Hailstone(int );
int main(void)
{
int result = Hailstone(18);
printf("length = %d\n ",result);
getchar();
return 0;
}
int Hailstone(int n)
{
int length = 1;
printf("{");
while(1 < n)
{
(n%2 != 0) ? (n = 3 * n + 1) : (n /= 2);
printf(" %d,",n);
++ length;
}
printf("\b}");
return length;
}