Collatz函数为(正)自然数定义如下:collatz(N):如果n是偶数,则返回n/2,否则返回(n∗3)+1
#include <iostream>
int Collatz(int n)
{if (n % 2 == 0)n /= 2;elsen = 3 * n + 1;return n;
}int main(int argc, char* argv[])
{if (argc < 2)return 0;int num = atoi(argv[1]);while (num != 1){std::cout << num << ' ';num = Collatz(num);}std::cout << num<<'\n';return 0;
}
直接编译运行,生成的exe文件,需要传递参数才可正常运行,在exe目录下打开cmd,如下操作运行: