Question

# Print Magic number in given range using recursion

```				```
If the sum of its digits recursively are calculated till a single digit. If that single digit is 1 then the number is a magic number.

eg,

28=2+8=10

Adding digits of 28 we get 10,

10=1+0=1

Adding digits of 10 we get 1

hence, 28 is Magic number
```
```

# Share code with your friends

Code

```				```
import java.util.Scanner;
public class magicNumber
{
long lowerRange=0,upperRange=0,temp=0,i=0;
public void accept()
{

Scanner sc=new Scanner(System.in);
System.out.println("ENTER THE LOWER NUMBER");
lowerRange=sc.nextLong();
System.out.println("ENTER THE UPPER NUMBER");
upperRange=sc.nextLong();

}

public  long CalculateSumOfDigits(long n)
{

if(n==0)
{
return 0;
}
else
{
return n%10 + CalculateSumOfDigits(n/10);
}
}

public void isMagicNumber()
{
System.out.println("MAGIC NUMBER(S) BETWEEN "+lowerRange +" AND "+upperRange+":");
for(i=lowerRange;i<=upperRange;i++)
{
temp=i;
while(temp>9)
{
temp=CalculateSumOfDigits(temp);
}
if(temp==1)
{
System.out.print(i+ " ");
}
}

}

public static void main()
{
magicNumber ob1=new magicNumber();
ob1.accept();
ob1.isMagicNumber();

}
}

```
```

Sale

50
Sale

150
Sale

200
Sale

50
Sale

50
Sale

50
Sale

50
Sale

50
Sale

50