Hailstone Sequence问题是一个著名的数学问题,至今没有证明其正确性,也没证明其是错误的,即任何一个正整数N,如果是偶数的话就除以2,如果是奇数的话就乘以3再加上1,最后这个数都会变为1。
公式如下:
求出这个序列长度的C++代码如下:
开始
#include <iostream>
using namespace std;
int hailstone(int n)
{
int length = 1;
while(n > 1)
{
(n % 2) ? n = (3 * n + 1) : n = (n / 2);
printf("%5d", n);
length++;
}
return length;
}
int main()
{
printf("Please input the number: ");
int number = getchar();
int sum = hailstone(number);
printf("\nThe sum is : \n%d", sum);
return 0;
}
结束