मराठी

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 - Computer Science (Theory)

Advertisements
Advertisements

प्रश्न

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 1’s in it.]

Examples:

  • 101 is a pernicious number as the number of 1’s in 101 = 2 and 2 is prime number.
  • 10110 is a pernicious number as the number of 1’s in 10110 = 3 and 3 is prime number.
  • 1111 is a NOT a pernicious number as the number of 1’s 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 member/instance varibale:  
num: to store a binary number
Methods/Member functions:  
Perni( ): constructor to initialise the data member with 0
void accept( ): to accept a binary number (containing 0’s and 1’s only)
int countOne(int k): to count and return the number of 1’s 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 functions accordingly to enable the task.

कोड लेखन
Advertisements

उत्तर

import java.util.Scanner;
class Perni {
  private int num;
  // Constructor to initialize num to 0
  public Perni() {
    num = 0;
  }
  // Method to accept a binary number
  public void accept() {
    Scanner sc = new Scanner(System.in);
    System.out.print("Enter a binary number:");
    num = sc.nextInt();
  }
  // Recursive method to count the number of 1's in a
  binary number
  public int countOne(int k) {
    if (k == 0){
      return 0;
    }
    return (k % 10 == 1? 1:0) + countOne(k/10);
  }
  // Method to check if the number is a pernicious
  number
  public void check() {
  int count = countOne(num);
  if (isPrime(count)) {
    System.out.println(num + "is a pernicious
    number.");
  } else {
    System.out.println(num + "is NOT a pernicious
    number.");
  }
}
// Helper method to check if a number is prime
private boolean is Prime(int n) {
  if (n < 2) return false;
  for (int i = 2; i * i < = n; i++)
    if (n % i == 0) return false;
  }
  return true;
}
  // Main method to test the class
  public static void main(String[] args) {
    Perni obj = new Perni();
    obj.accept();
    obj.check();
  }
}
shaalaa.com
  या प्रश्नात किंवा उत्तरात काही त्रुटी आहे का?
2024-2025 (March) Official Board
Share
Notifications

Englishहिंदीमराठी


      Forgot password?
Use app×