JAVA program to find sum of first n natural numbers using recursion

JAVA program to find sum of first n natural numbers using recursion

This JAVA program is to find sum of first n natural numbers using recursion.

For example, sum of first n(5) numbers using recursion is sum = 5+4+3+2+1 = 15

Logic

We include one base case i.e. when we converge towards zero we have finished our program so we need to exit and a non base case i.e. start from n and keep adding n and make a recursive call by decreasing n by 1.

Dry Run of the Program

Take input as n=4

We enter function sum()

int sum(int n)

n=4

if(n==0) false

else

return (n+sum(n-1)) i.e. return (4+sum(3))

A recursive call[sum(3)]

if(n==0) false

else

return (n+sum(n-1)) i.e. return (3+sum(2))

A recursive call[sum(2)]

if(n==0) false

else

return (n+sum(n-1)) i.e. return (2+sum(1))

A recursive call[sum(1)]

if(n==0) false

else

return (n+sum(n-1)) i.e. return (1+sum(0))

A recursive call[sum(0)]

if(n==0) true

return n  i.e. return 0

So now we will have

1+0=1    … sum(1)

2+1=3    …sum(2)

3+3=6   …sum(3)

6+4=10… sum(4) ….final answer

Program

import java.util.*;

class mr9
{
	public static void main(String args[])
	{
    		int no;
		Scanner sc = new Scanner(System.in);
    		System.out.println("Enter how many terms you want to add");
    		no=sc.nextInt();

    		System.out.println("Summation of first "+no+" natural numbers = "+sum(no));
	}

	static int sum(int n)
	{
    		if(n==0)
        		return n;
    		else 
        		return (n+sum(n-1));
	}
}

Output

Share Me!