public class MyClass {
// Collatz Sequence Example:
// 13 - 40 - 20 - 10 - 5 - 16 - 8 - 4 - 2 - 1
private static long CalcCollatz(long x) {
// if (number is odd) return x*3 + 1
// if (number is even) return x/2
if ((x & 1) != 0) { // odd
return x * 3 + 1;
}
return x / 2; // even
}
private static void PrintCollatzSequence(long x) {
System.out.print(x + " ");
while (x != 1) {
x = CalcCollatz(x);
System.out.print(x + " ");
}
}
public static void main(String args[]) {
long x = 13;
PrintCollatzSequence(x);
}
}
/*
run:
13 40 20 10 5 16 8 4 2 1
*/