# Sum of natural numbers using recursion

• Difficulty Level : Easy
• Last Updated : 16 Jun, 2022

Given a number n, find sum of first n natural numbers. To calculate the sum, we will use a recursive function recur_sum().
Examples :

```Input : 3
Output : 6
Explanation : 1 + 2 + 3 = 6

Input : 5
Output : 15
Explanation : 1 + 2 + 3 + 4 + 5 = 15```

Below is code to find the sum of natural numbers up to n using recursion :

## C++

 `// C++ program to find the``// sum of natural numbers up``// to n using recursion``#include ``using` `namespace` `std;` `// Returns sum of first``// n natural numbers``int` `recurSum(``int` `n)``{``    ``if` `(n <= 1)``        ``return` `n;``    ``return` `n + recurSum(n - 1);``}` `// Driver code``int` `main()``{``    ``int` `n = 5;``    ``cout << recurSum(n);``    ``return` `0;``}`

## Java

 `// Java program to find the``// sum of natural numbers up``// to n using recursion``import` `java.util.*;``import` `java.lang.*;` `class` `GFG``{` `    ``// Returns sum of first``    ``// n natural numbers``    ``public` `static` `int` `recurSum(``int` `n)``    ``{``        ``if` `(n <= ``1``)``            ``return` `n;``        ``return` `n + recurSum(n - ``1``);``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `n = ``5``;``        ``System.out.println(recurSum(n));``    ``}``}` `// This code is contributed by Sachin Bisht`

## Python

 `# Python code to find sum``# of natural numbers upto``# n using recursion` `# Returns sum of first``# n natural numbers``def` `recurSum(n):``    ``if` `n <``=` `1``:``        ``return` `n``    ``return` `n ``+` `recurSum(n ``-` `1``)` `# Driver code``n ``=` `5``print``(recurSum(n))`

## C#

 `// C# program to find the``// sum of natural numbers``// up to n using recursion``using` `System;` `class` `GFG``{` `    ``// Returns sum of first``    ``// n natural numbers``    ``public` `static` `int` `recurSum(``int` `n)``    ``{``        ``if` `(n <= 1)``            ``return` `n;``        ``return` `n + recurSum(n - 1);``    ``}``    ` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``int` `n = 5;``        ``Console.WriteLine(recurSum(n));``    ``}``}` `// This code is contributed by vt_m`

## PHP

 ``

## Javascript

 ``

Output :

`15 `

Time complexity : O(n)

Auxiliary space : O(n)

To solve this question , iterative approach is the best approach because it takes constant or O(1) auxiliary space and the time complexity will be same O(n).

My Personal Notes arrow_drop_up