Write a java program to check whether a given number is a magic number or not.

A number is said to be a Magic number if the sum of its digits are calculated till a single digit is obtained by recursively adding the sum of its digits.

If the single digit comes to be 1 then the number is a magic number.

Example- 199 is a magic number as 1+9+9=19 but 19 is not a single digit number so 1+9=10 and then 1+0=1 which is a single digit number and also 1. Hence it is a magic number.

import java.util.Scanner; class MagicNumber { public static void main(String args[]) { Scanner in = new Scanner(System.in); System.out.println("Enter the number"); int num = in.nextInt(); int n=num; int sum = 0; while(n>0 || sum>9) { if (n==0) { n = sum; sum = 0; } sum += n%10; n /= 10; } if(sum==1) System.out.println(num + " is a Magic Number"); else System.out.println(num + " is not a Magic Number"); } }

### Video Explanation

### Alternate Method

import java.util.*; class MagicNumberCheck { public static void main(String args[]) { Scanner ob=new Scanner(System.in); System.out.println("Enter the number to be checked."); int n=ob.nextInt(); int sum=0, num=n; while(num>9) { sum=num;int s=0; while(sum!=0) { s=s+(sum%10); sum=sum/10; } num=s; } if(num==1) System.out.println(n+" is a Magic Number."); else System.out.println(n+" is not a Magic Number."); } }

RiyaNice explanation

But I request you to post the linear sort video on same question