var d = new Date(),
a = Array(1000001).fill(),
max = 0,
winner = 0;
a[0] = a[1] = 1;
for (var i = 2; i <= 1000000; i++) {
var c = -1, j = i;
while (c++, (j = j % 2 ? j * 3 + 1 : j / 2) > i);
a[i] = a[j] + c;
if (a[i] > max) max = a[i], winner = i;
}
console.log(winner);
new Date() - d;