Problem 14
by Tom M
JavaScript
let counter = 0;
let finalResult;
function outer(x) {
let tempCounter = 0;
let result = x;
let n = x;
function collatz(n) {
if (n % 2 === 0) { //if even
let next = n/2;
tester(next);
} else { //if odd
let next = (3*n) + 1;
tester(next);
}
}
function tester(x) {
if (x === 1) {
tempCounter += 1;
if (tempCounter > counter) {
counter = tempCounter;
finalResult = result;
console.log(counter);
console.log(finalResult);
}
} else {
tempCounter += 1;
collatz(x);
}
}
collatz(n);
}
for (let i = 1000000; i > 0; i--) {
outer(i);
}