由网友(夏有乔木)分享简介:def longest_collatz_sequence(n)longest_sequence = [](1..n).each do |a|sequence = [a]until sequence.last == 1if a % 2 == 0sequence.push(a/2)elsesequence.push(3a...
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.
相关推荐
最新文章