寻找启动数字与其中最长的在Collatz序列; 100 [英] Finding the longest collatz sequence for starting numbers < 100
本文介绍了寻找启动数字与其中最长的在Collatz序列; 100的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
def longest_collatz_sequence(n)
longest_sequence = []
(1..n).each do |a|
sequence = [a]
until sequence.last == 1
if a % 2 == 0
sequence.push(a/2)
else
sequence.push(3a + 1)
end
end
if sequence.length > longest_sequence.length
longest_sequence = sequence
end
end
longest_sequence
end
longest_collatz_sequence(100)
longest_collatz_sequence(100)
当我运行算法,有人告诉我可能是在3A + 1意想不到的标识符和程序不运行。哪里是我的问题?
When I run the algorithm, I'm told that there is an unexpected identifier within 3a + 1 and the program doesn't run. Where is my problem?
谢谢!
推荐答案
请即 3 * A
,你离开了实际的乘法。
Make that 3*a
, you left out the actual multiplication.
这篇关于寻找启动数字与其中最长的在Collatz序列; 100的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文