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)); } }