寻找启动数字与其中最长的在Collat​​z序列; 100序列、最长、数字、Collat

由网友(夏有乔木)分享简介: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_collat​​z_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.

阅读全文

相关推荐

最新文章