This is a Java program to print the Magic number series. However before starting let me tell you what is a magic number.

A Magic number is a number whose sum of digits eventually leads to 1.

**Example#1:** 19 ; 1+9 =10 ; 1+0 = 1. Hence a magic number.

**Example#2**: 224; 2+2+4=10; 1+0 =1. Hence a magic number.

**Example#3: **874; 8+7+4=19; 1+9=10; 1+0=1. Hence a magic number.

**ALSO CHECK:
1. **

*Java program to*

2. C program for magic number

**check**for a magic number
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
import java.io.*; class magic { public static void main(String args[])throws Exception { int i,j,k,n; magic obj=new magic(); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print("enter the upper limit to print the magic number series: "); // i.e the value of n; n=Integer.parseInt(br.readLine()); for(k=;k<n;k++) {i=k; while((j=obj.magicno(i))/10!=) // You have to check the sum of all digits until a single digit is achieved i.e. sum=1,2,3,..9 { i=j; // If sum of digits= 19 it then again goes to 1+9 =10 and again 1+0= '1' a single digit to check if 1 or not } if ( j==1) System.out.print(k+","); } } int magicno(int n) // recursive program for magic number { if(n/10==) return n; else return n%10 + magicno(n/10); } } |

OUTPUT: