# Direct vs. Indirect Recursion

This lesson explains two different types of recursion: direct and indirect recursion.

## Direct Recursion

**Direct recursion** occurs when a function calls itself.

This results in a **one-step** recursive call: the function makes a recursive call inside its own function body.

### Syntax of Direct Recursion

```
function function1(p1, p2, ..., pn) {
// Some code here
function1(p1, p2, ..., pn);
// Some code here
}
```

### Printing Natural Numbers from $1$ to $n$ Using Direct Recursion

Let’s have a look at an example that prints natural numbers from $1$ to $n$:

Level up your interview prep. Join Educative to access 80+ hands-on prep courses.