# JavaScript Recursion

Programming using recursion is really simple yet intuitive.

Here are a few examples in js.

First, a factorial function (https://jsfiddle.net/ky8fjza7/).

```js
/*
factorial:
F(n) = n * F(n-1)
F(n-1) = (n - 1) * F(n-2)
...
F(1) = 1
*/



// factorial
function F(N) {
    if (N<=1) {
        return N;
    }
    
    return N * F(N-1);
}

// run
console.log(F(5))		// 5!==120
```

Now, a function to sum n through to 1 (https://jsfiddle.net/euw3qjnd/).

```js
/*
sun:
sum(n) = n + sum(n-1)
sum(n-1) = n - 1 + sum(n-2)
...
sum(1) = 1
*/

function sum(N) {
	if (N<=1) {
  	return N;
  }
  
  return N + sum(N-1);
}

// run
console.log(sum(5));		// 5+4+3+2+1=15
```

