#include <stdio.h>
// Collatz Sequence Example:
// 13 - 40 - 20 - 10 - 5 - 16 - 8 - 4 - 2 - 1
long long CalcCollatz(long long x) {
// if (number is odd) return x*3 + 1
// if (number is even) return x/2
if (x & 1) { // odd
return x * 3 + 1;
}
return x / 2; // even
}
void PrintCollatzSequence(long long x) {
printf("%3ld", x);
while (x != 1) {
x = CalcCollatz(x);
printf("%3ld", x);
}
}
int main() {
long long x = 13;
PrintCollatzSequence(x);
return 0;
}
/*
run:
13 40 20 10 5 16 8 4 2 1
*/