Longest Collatz Sequence

Tell us what’s happening:

I am trying to use a helper function to calculate the length of the chain then outside of the helper function use a for loop to decrement the variable count and assign a variable max to count if count is larger than max. I am having trouble getting it work though, can anyone help me find the flaws in my code? It now works for the first 2 tests and that makes it difficult to troubleshoot. I do not understand why it would pass the first 2 and not the last 3.

Your code so far

function longestCollatzSequence(limit) {
  let max = 0
  let maxLim
function lengthOfChain(limit){
  let arr = [limit]
  while(limit !== 1){
  limit % 2 === 0 ? limit = limit / 2 : limit = 3*limit + 1
 // console.log(limit)

if(limit === 1){
  return arr.length


for(let i = limit; i> 0; i--){
  if(lengthOfChain(i)> max){
    max = lengthOfChain(i)
    maxLim = i
 // console.log(max)
  console.log("this is where the max length was")

return maxLim


Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36.

Challenge: Problem 14: Longest Collatz sequence

Link to the challenge:

I think you need to remove console.log("this is where the max length was") and console.log(maxLim) and your code will pass all test.

1 Like

Thanks that worked, I did not know that doing console.logs like that to verify what was going on would mess with testing the code.