【发布时间】:2020-07-30 16:16:57
【问题描述】:
所以我正在编写这个程序,它计算关于 Collatz 猜想的不同事物。 所以基本上对于一个数字,我计算一个循环及其长度,如下所示:
对于 8:[8、4、2、1] 长度:4
现在我想计算到 1000。
而且对于每个数字,循环的长度都是不同的。
例如,数字 43 的循环长度可以大于 45 的循环长度。
我想按升序获得最大的长度。
Like this:
Number 1 2 3 6 7 9 1825 27 54 73 97 129 171 231 313 327 649 703 871
Length(N) 0 1 7 8 16 19 20 23 111 112 115 118 121 124 127 130 143 144 170 178
我将数字放在HashMap中,数字作为键,长度作为值。
现在我不知道如何按升序获得最大长度。
有什么功能可以帮助我解决这个问题吗? 我必须使用循环和更多列表吗?
Collections.Max 没有任何帮助,因为它只获得一个值,但我需要多个值。
【问题讨论】:
-
也许将数字放在HashMap中,长度为键,数字为值?
标签: java collections hashmap max cycle