是否有可能在很大一部分数字中找到循环长度(超过 C/C++ 中最大整数类型的最大值,比如说 2^20),而不涉及磁盘来执行它?最好的情况是按顺序分析它们,因为它们来自标准输入,但我很确定这是不可能的,我需要将它们存储在内存中。但我希望我是错的。数字值是整数,它们来自标准输入。
示例:输入:( 1 2 3 ... (2^20 三元组 1 2 3) ... 1 2 3) 期望结果:3
编辑
让我们将周期视为一个周期(f(x) = f(x+t) 对于某些 t) - 寻找 t 的值
假设操作内存太少,无法存储所有数字(数字可以超过 2^20)并且可能是 gmp 类型。