Composite Magic ISC Computer Science 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
class CompositeMagic{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.print("m = ");
int m = Integer.parseInt(in.nextLine());
System.out.print("n = ");
int n = Integer.parseInt(in.nextLine());
if(m >= n){
System.out.println("INVALID INPUT");
return;
}
int f = 0;
for(int i = m; i <= n; i++){
if(isComposite(i) && isMagic(i)){
if(f == 0){
System.out.println("THE COMPOSITE MAGIC INTEGERS ARE:");
System.out.print(i);
}
else
System.out.print(", " + i);
f++;
}
}
System.out.println("\nFREQUENCY OF COMPOSITE MAGIC INTEGERS IS: " + f);
}
public static boolean isComposite(int n){
int f = 0;
for(int i = 1; i <= n; i++){
if(n % i == 0)
f++;
if(f > 2)
return true;
}
return false;
}
public static boolean isMagic(int n){
if(n == 1)
return true;
if(n < 10)
return false;
int sum = 0;
for(int i = n; i != 0; i /= 10)
sum += i % 10;
return isMagic(sum);
}
}
Comments
Post a Comment