How to calculate the Collatz sequence for a range starting from 3 to 10 in Node.js

1 Answer

0 votes
function CalcCollatz(x) {
    if ((x & 1) != 0) {
        return x * 3 + 1;
    }
    return x / 2;
}

function PrintCollatzSequence(x) {
    let s = x;
    
    while (x != 1) {
        x = CalcCollatz(x);
        s += " " + x;
    }
    
    console.log(s);
}

for (let i = 3; i < 11; i++) {
    PrintCollatzSequence(i);
}




/*
run:

3 10 5 16 8 4 2 1
4 2 1
5 16 8 4 2 1
6 3 10 5 16 8 4 2 1
7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
8 4 2 1
9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
10 5 16 8 4 2 1

*/

 



answered Nov 8, 2023 by avibootz
edited Nov 8, 2023 by avibootz
...