Categories
Class 11 Class 12

Composite Magic Number ISC 2014 Practical

A composite magic number is a positive integer which is composite as well as a magic number.

Composite number: A composite number is a number that has more than two factors.
For example: 10
Factors are: 1, 2, 5, 10.

Magic number: A magic number is a number in which the eventual sum of the digits is equal to 1.
For example: 28
2 + 8 = 10.
1 + 0 = 1.

Accept two positive integers ‘m’ and ‘n’, where m is less than n as user input. Display the number of composite magic integers that are in the range between ‘m’ and ‘n’ (both inclusive) and output them along with the frequency, in the format specified below.

Test your program with the sample data and some random data:

Example 1:
INPUT:
m = 10
n = 100
OUTPUT:
THE COMPOSITE MAGIC INTEGERS ARE:
10, 28, 46, 55, 64, 82, 91, 100
FREQUENCY OF COMPOSITE MAGIC INTEGERS IS: 8

Example 2:
INPUT:
m = 1200
n = 1300
OUTPUT:
THE COMPOSITE MAGIC INTEGERS ARE:
1207, 1216, 1225, 1234, 1243, 1252, 1261, 1270, 1288
FREQUENCY OF COMPOSITE MAGIC INTEGERS IS: 9

Example 3:
INPUT:
m = 120
n = 99
OUTPUT:
INVALID INPUT

import java.io.*;
class CompositeMagic{
    public static void main(String args[])throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.print("m = ");
        int m = Math.abs(Integer.parseInt(br.readLine()));
        System.out.print("n = ");
        int n = Math.abs(Integer.parseInt(br.readLine()));
        if(m >= n){
            System.out.println("INVALID INPUT");
            return;
        }
        int count = 0;
        System.out.println("THE COMPOSITE MAGIC INTEGERS ARE:");
        for(int i = m; i <= n; i++){
            if(isComposite(i) && isMagic(i)){
                if(count == 0)
                    System.out.print(i);
                else
                    System.out.print(", " + i);
                count++;
            }
        }
        System.out.println("\nFREQUENCY OF COMPOSITE MAGIC INTEGERS IS: " + count);
    }
    public static boolean isComposite(int num){
        int f = 0;
        for(int i = 1; i <= num; i++)
            if(num % i == 0)
                f++;
        return f > 2;
    }
    public static boolean isMagic(int num){
        while(num > 9){
            num = sumOfDigits(num);
        }
        return num == 1;
    }
    public static int sumOfDigits(int num){
        int sum = 0;
        while(num != 0){
            sum += num % 10;
            num /= 10;
        }
        return sum;
    }
}

2 replies on “Composite Magic Number ISC 2014 Practical”

Sir,a program is given which states that:
WAP in java to accept a number and check whether the number is prime or not using recursive function. (Using Scanner class)

import java.util.Scanner;
class Prime{
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        System.out.print("N = ");
        int n = sc.nextInt();
        if(isPrime(n, 2))
            System.out.println(n + " is prime.");
        else
            System.out.println(n + " is not prime.");
    }
    public static boolean isPrime(int num, int factor){
        if(num < 2)
            return false;
        else if(num == factor)
            return true;
        else if(num % factor == 0)
            return false;
        else
            return isPrime(num, factor+1);
    }
}

Leave a Reply