C Programs Tutorials | IT Developer
IT Developer

Java Programs - Solved 2025 Theory Paper ISC Computer Science



Share with a Friend

Solved 2025 Theory Paper ISC Computer Science

Class 12 - ISC Computer Science Solved Theory Papers

Pernicious Number Program - ISC 2025 Theory

A class Perni has been defined to accept a positive integer in binary number system from the user and display if it is a Pernicious number or not. A pernicious number is a binary number that has minimum of two digits and has prime number of 1s in it. Examples:
  1. 101 is a pernicious number as the number of 1s in 101 = 2 and 2 is prime number.
  2. 10110 is a pernicious number as the number of 1s in 10110 = 3 and 3 is prime number.
  3. 1111 is NOT a pernicious number as the number of 1s in 1111 = 4 and 4 is NOT a prime number.
The details of the members of the class are given below: Class name: Perni Data members/instance variables: num: to store a binary number Methods/Member functions: Perni(): constructor to initialize the data member with 0 void accept(): to accept a binary number (containing 0s and 1s only) int countOne(int k): to count and return the number of 1s in ‘k’ using recursive technique void check(): to check whether the given number is a pernicious number by invoking the function countOne() and to display an appropriate message
Specify the class Perni giving the details of the constructor, void accept(), int countOne(int) and void check(). Define a main() function to create an object and call the function accordingly to enable the task.
import java.util.Scanner; class Perni{ int num; public Perni(){ num = 0; } public void accept(){ Scanner in = new Scanner(System.in); System.out.print("Enter a binary number: "); num = Integer.parseInt(in.nextLine()); String s = String.valueOf(num); s = s.replace("0", ""); s = s.replace("1", ""); if(s.length() != 0){ System.out.println("Invalid binary number!"); System.exit(0); } } public int countOne(int k){ if(k == 0) return 0; int d = k % 10; if(d == 1) return 1 + countOne(k / 10); return countOne(k / 10); } public void check(){ int count = countOne(num); int f = 0; for(int i = 1; i <= count; i++){ if(count % i == 0) f++; } if(f == 2) System.out.println(num + " is a pernicious number!"); else System.out.println(num + " is not a pernicious number."); } public static void main(String[] args){ Perni obj = new Perni(); obj.accept(); obj.check(); } }

Output

 
OUTPUT 1:
Enter a binary number: 1100111
1100111 is a pernicious number!

OUTPUT 2:
Enter a binary number: 11011
11011 is not a pernicious number.