algorithm - 这个 STOP 问题最终会如何工作?
问题描述
所以嘿,
我有一个学校的任务,它基于以下代码:
while(n != 1)
{
System.out.print(n + ", ");
if(n%2 == 0)
{
n = n/2;
}
else
{
n = here;
}
}
问题是,如果你改变这条线会发生什么
n = here;
到 3n+2、2n+1 和 n+1 到目前为止我学到的东西:对于 3n+2,如果你运行程序并且 n 将是 50,另一个时间是 200,在某个点之后它看起来会完全一样,虽然不会工作对于负数;对于 2n+1 根本不起作用 对于 n+1 将起作用
任何高质量的信息,它是如何工作的,我无法完全弄清楚?
解决方案
您感兴趣的是Collatz_conjecture和变体。假设它永远不会达到无穷大,但我们仍然没有证据。
此外,我强烈建议您观看这些关于它的小视频:Collatz_conjecture,variations。
推荐阅读
- python - tkinter 调用 tk.canvas.create_window() 时什么是窗口
- csv - 如何记录 .csv 的计数并将该计数附加到电子邮件处理器以发送给任何人?
- python - 值作为多个列表添加到列表中
- jquery - 如何使用 jquery 数据表对输入值进行排序
- php - 通过 USB 从 Mac 网络服务器对 Arduino 进行问题控制
- websphere - 如何更改 WebSphere 应用服务器 ND v9 的默认位置?
- android - SavedStateHandleController.attachToLifecycle :已经附加到生命周期所有者
- javascript - Google Chrome 上的 pagehide 事件
- c++ - 使用OpenGL动态绘制形状(使用本轮和傅里叶级数)
- polymer - 在 lit-element 中将 HTML 作为单独的文件加载