How To Check Whether a Number Is a Pronic Number or Not in Java?



What is Pronic number?

In mathematical terms, a Pronic number is a number that can be defined as the product of two consecutive integers. The Pronic number is in the form of n(n+1), where n is the integer.

For example, the pronic numbers are 0, 2, 6, 12, 20, and so on. It is also known asa heteromecic number, oblong number, or rectangular number.

Input & Output Scenarios

Following are the scenarios that show the mathematical calculation for checking of the pronic number:

Scenario 1

Suppose we have a number 12:

Input: 12
Output: 4 x 3 = 12

Since 12 is the product of two consecutive numbers, 3 and 4, the 12 is a pronic number.

Scenario 2

Suppose we have a number 24 to check for a pronic number:

Input: 24
Output: 6 x 4 = 24

Since the number 24 is the product of 6 and 4, but they are not consecutive numbers, 24 is not a pronic number.

Calculating the Pronic Number

Here is the explanation which will help to check a pronic number:

  • First, we will calculate the square root of the given number (say inputNumber).
  • Then, we will find the result of n x (n +1 ), where n is the integer part of the square root of the given number.
  • Compare this result with the given number.
  • If the result is equal to the given number (inputNumber), the number is a pronic number; if not, then not pronic.

Example 1

In the following example, we calculate the square root of the number 12. Using that result, we calculate n*(n+1) (where n is the square root result). Finally, we compare this result to the original number to determine whether it is a pronic number:

public class checkPronicNumber{
   public static void main(String[] args){
   
      //initialized a number
      long inputNumber = 12;
      System.out.println("Given number is: " + inputNumber);
      
      //Find square root of the input number
      long n = (long)Math.sqrt(inputNumber);
      
      //Check if the input number is eqaul to n(n+1)
      if(inputNumber == n*(n+1)){
         System.out.println("Yes! " + inputNumber + " is a pronic number");
      } else {
         System.out.println("No! " + inputNumber + " is not a pronic number");
      }
   }
}

Output

Following is the output of the above program:

Given number is: 12
Yes! 12 is a pronic number

Example 2

We define a function named pronicNumber(input number), which accepts a parameter (that will be checked for pronic number) and returns true or false based on whether the parameter is a pronic number. It uses the same logic to compare the n*(n+1) (n is the square root of 14) result with the given number 14:

public class checkPronicNumber{

   //define method to check pronic number
   public static boolean pronicNumber(long inputNumber){
      //Find square root of the input number
      long n = (long)Math.sqrt(inputNumber);
      
      //Check if the input number is eqaul to n(n+1)
      if(inputNumber == n*(n+1)){
         return true;
      }
      return false;
   }
   public static void main(String[] args){
   
      //initialized a number
      long inputNumber = 14;
      System.out.println("Given number is: " + inputNumber);
      
      //calling the method to check pronic number
      System.out.println("Is " + inputNumber + " is a pronic number: " + pronicNumber(inputNumber));
   }
}

Output

Below is the output of the above program:

Given number is: 14
Is 14 is a pronic number: false
Updated on: 2025-05-29T15:19:37+05:30

7K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements