```
function add(num){
if(num<=0){
return 0;
}
else{
return num+add(num-1)
}
}
add(3)
```

1 Like

Hi @manaskumarpanigrahi6 , thank you for sharing your query. We will share the solution shortly.

1 Like

If you call the `add`

function with the argument `3`

, it will execute as follows:

- First, the function will check if the argument
`num`

is less than or equal to 0. Since`num`

is 3, this condition is not met, so the function proceeds to the next step. - The function returns the sum of
`num`

and the result of calling`add`

with the argument`num-1`

. In this case,`num`

is 3, so the function will return`3 + add(2)`

. - Now the
`add`

function is called again, but this time with the argument`2`

. The same steps are followed as before, and the function will return`2 + add(1)`

. - The
`add`

function is called again, this time with the argument`1`

. Again, the same steps are followed, and the function will return`1 + add(0)`

. - Finally, the
`add`

function is called with the argument`0`

. Since`num`

is now 0, the function will return 0. - The previous recursive calls will start returning their results in reverse order.
`add(0)`

returned 0, so`add(1)`

will return`1 + 0`

, which is 1. -
`add(2)`

will return`2 + 1`

, which is 3. - Finally,
`add(3)`

will return`3 + 3`

, which is 6.

Therefore, calling `add(3)`

will return 6.

1 Like

This is the problem of adding n consecutive numbers,This can be solved in various ways, As per your code this is solving this sum via recursion , For time complexity this solution is not so good,I will suggest you to use a Formula instead, function Sum(n){

return (n*(n+1))/2} Sum(3) Thats all ,one line same output 6 you will get

3 Likes