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)
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?
Thanks!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…