Hello World! I'm talking about recursion in C++. Recursion is when a function calls itself. So here in main, I enter a number and I call half with that number, and in half it prints out the number and then it calls half with n divided by two. And that's a recursive call. So let's run it, and it asks me to enter a number. I'll put in 37, and it starts printing half of that and then it has a stack overflow, meaning that this is no better than an endless loop. You can't even look at it. OK. One of the rules recursion is that there has to be base case where we don't continue. Or a trivial case. I'm going to say if n is greater than or equal to one, make the recursive call. And now let's run it, and I'll put in 37 again. and it printed 37, 18.5,9.25 and when we got down to 0.57 that's less than one so it doesn't make the recursive call. And that's it. However, this could be done better with a loop. And recursion has an overhead, So if you can do something with a loop, you shouldn't use recursion for that. in general you should use recursion if each call breaks the problem into two or more pieces. We'll look at some examples of that in the next lesson. And that's it for now.