I stumbled across a blog post by Brie Gordon about the Collatz conjecture, so naturally I had to Wikipedia it. The simple story is that for any given integer, if it is even you divide it by 2 and if it is odd you multiply it by 3 and add 1. You continue this pattern with the returned numbers, and eventually the number will reach 1. So, to kill some time, I wrote a recursive version in PHP. Here it is:
function collatz($num)
{
if($num == 1)
{
echo "<p style='color: red'>" . $num . "</p>\n";
return;
}
if($num % 2 == 0) //even
{
echo "<p style='color: green'>" . $num . "</p>\n";
return collatz($num / 2);
}
else
{
echo "<p style='color: red'>" . $num . "</p>\n";
return collatz(3 * $num + 1);
}
}