function CalcCollatz($x) {
if (($x & 1) != 0) {
return $x * 3 + 1;
}
return $x / 2;
}
function PrintCollatzSequence($x) {
echo $x . " ";
while ($x != 1) {
$x = CalcCollatz($x);
echo $x . " ";
}
}
for ($i = 3; $i < 11; $i++) {
PrintCollatzSequence($i);
echo "\n";
}
/*
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
*/