function CalcCollatz(x: number) {
if ((x & 1) != 0) {
return x * 3 + 1;
}
return x / 2;
}
function PrintCollatzSequence(x: number) {
let s: any = x;
while (x != 1) {
x = CalcCollatz(x);
s += " " + x;
}
console.log(s);
}
for (let i: number = 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"
*/