Given a number the task is to check whether it is Magic Number or not using recursion.
Magic Number is a number whose eventual sum of digits is equal to 1.
Example 1: 19. 1+9 = 10. 1+0 = 1. Hence it is a Magic Number.
Example 2: 18. 1+8 = 9 ≠ 18. Hence it is not a Magic Number.
Java
import java.util.*;
public class MagicRec
{
public int getSumDigits(int n)
{
if(n==0)
{
return 0;
}
else
{
return (n%10)+getSumDigits(n/10);
}
}
public int isMagic(int n)
{
if(n<10)
{
return n;
}
else
{
return isMagic(getSumDigits(n));
}
}
public static void main(String args[])
{
int n=0;
Scanner sc=new Scanner(System.in);
MagicRec ob=new MagicRec();
System.out.print("Enter a number: ");
n=sc.nextInt();
if(ob.isMagic(n)==1)
{
System.out.println(n+" is a Magic Number");
}
else
{
System.out.println(n+" is not a Magic Number");
}
}
}Java