Korean, Edit

C语言中的Collatz猜想

更高类别 【C语言】【C语言目录】(https://jb243.github.io/pages/802)


a. GitHub



Collatz 猜想以 Lothar Collatz 的名字命名,他于 1937 年首次提出该猜想,也称为 3n+1 问题或冰雹序列问题。 Collatz 猜想指出,对于任何自然数,以下算法将始终终止:

  1. 获取输入n。

  2. 如果n为1,则停止。

  3. 如果 n 是奇数,则计算 3n + 1。

  4. 如果n是偶数,则将其除以2。

  5. 重复步骤 2-4。

如果我们以 n = 22 为例,算法将产生以下值序列:

22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

虽然该算法会终止我们通常处理的范围(最多 20 × 258)内的大多数数字,但尚未证明它会终止所有可能的输入。有人质疑这是否是一个无法解决的问题。以下算法包含一种在自然数 a 和 b 中查找循环长度最长的数(最多大约 10,000,000)的方法。该算法的优化留给个人考虑。此外,通过应用C2算法,您可以输出特定数字的周期。



受保护_0



输入:2016.03.01 11:34

results matching ""

    No results matching ""