我认为Collatz猜想已经广为人知了。但如果我们颠倒了规则呢?
从整数n >= 1开始。
重复下列步骤:
如果n是偶数,则乘以3并加1。
如果n是奇数,减去1,除以2。
当它达到0时停止
打印迭代的数字。
1 => 1, 0
2 => 2, 7, 3, 1, 0
3 => 3, 1, 0
10 => 10, 31, 15, 7, 3...
14 => 14, 43, 21, 10, ...发布于 2018-11-04 21:40:26
0<Echo@#&�[3#+1-(5#+3)/2#~Mod~2]&0<Echo@# && ...&是短路评估:它打印输入#,检查它是否为正,如果是,评估...。在本例中,...是#0[3#+1-(5#+3)/2#~Mod~2];由于#0 (零时隙)是函数本身,这是对3#+1-(5#+3)/2#~Mod~2的递归调用,它在#为偶数时简化为3#+1,在#为奇数时简化为(#-1)/2。
https://codegolf.stackexchange.com/questions/175248
复制相似问题