Hello World! I'm talking about recursion in C++. The towers problem is a classic problem to illustrate recursion because it meets the rule breaking a problem down. the towers problem is to move all of the disks from peg A to peg C. But there are rules: You can put a big one on top of a smaller one, And you can only move one at a time. the recursive solution to the problem is that if I need to these four pegs [disks] from A to C, using B as intermediary , the solution is... the solution is to move three of them to peg B, then move the one, that's the trivial, or base case, moving one, we just move it. and then we move these three over to C. Now, you're going to say "Ah, but you broke the rule, you moved 3 at a time." Let's put them back. And if I need to move three of them to here, the way I do that would be to move 2 of them to here, move one to here, then move these two to here, and then were back and we move that one to there. now we have three that we move to here, and we do that by moving 2 over here. Move this one here, and then move these two over here. But again you're going to say "Ah, you moved 2 at a time!" But you can see that the solution to this, recursively, is if it is just one disk, you just move it, that's the base case. Or trivial case. If you have more than one you move n-1 to the intermediary peg, and then you move the one to the target and then you move the n-1 to it. And that's it.