Open In App
Related Articles

Check if a given number is Pronic

Improve Article
Improve
Save Article
Save
Like Article
Like

The numbers that can be arranged to form a rectangle are called Rectangular Numbers (also known as Pronic numbers). The first few Pronic numbers are: 
0, 2, 6, 12, 20, 30, 42, 56, 72, 90, 110, 132, 156, 182, 210, 240, 272, 306, 342, 380, 420, 462 . . . . . . 
Pronic number is a number which is the product of two consecutive integers, that is, a number n is a product of x and (x+1). The task is to check and print Pronic Numbers in a range.
Examples : 
 

Input  : 6
Output : Pronic Number
Explanation: 6 = 2 * 3 i.e 6 is a product
of two consecutive integers 2 and 3.

Input :56
Output :Pronic Number
Explanation: 56 = 7 * 8 i.e 56 is a product 
of two consecutive integers 7 and 8. 

Input  : 8
Output : Not a Pronic Number
Explanation: 8 = 2 * 4 i.e 8 is a product of 
2 and 4 which are not consecutive integers.

 

C++




// C/C++ program to check
// if a number is pronic
#include <iostream>
#include <math.h>
using namespace std;
 
// function to check
// Pronic Number
bool checkPronic(int x)
{
 
    for (int i = 0;
            i <= (int)(sqrt(x));
            i++)
 
        // Checking Pronic Number
        // by multiplying consecutive
        // numbers
        if (x == i * (i + 1))
        return true;
 
    return false;
}
 
// Driver Code
int main(void)
{
    // Printing Pronic Numbers
    // upto 200
    for (int i = 0; i <= 200; i++)
        if (checkPronic(i))
            cout << i << " ";
     
    return 0;
}
 
// This code is contributed
// by Nikita Tiwari.


Java




// Java program to check and
// Print Pronic Number upto 200
import java.io.*;
import java.util.*;
import java.math.*;
 
class GFG
{
 
    // function to check Pronic Number
    static boolean checkPronic(int x)
    {
        for (int i = 0;
             i <= (int)(Math.sqrt(x));
             i++)
             
            // Checking Pronic Number
            // by multiplying consecutive
            // numbers
            if (x == i * (i + 1))
                return true;
         
        return false;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        // Printing Pronic
        // Numbers upto 200
        for (int i = 0; i <= 200; i++)
            if (checkPronic(i))
                System.out.print(i + " ");    
    }
}
 
// This code is contributed
// by Nikita Tiwari


Python3




# Python program to check
# and print Pronic Numbers
# upto 200
import math
 
# function to check
# Pronic Number
def checkPronic (x) :
 
    i = 0
    while ( i <= (int)(math.sqrt(x)) ) :
         
        # Checking Pronic Number
        # by multiplying consecutive
        # numbers
        if ( x == i * (i + 1)) :
            return True
        i = i + 1
 
    return False
 
# Driver Code
 
# Printing Pronic
# Numbers upto 200
i = 0
while (i <= 200 ) :
    if checkPronic(i) :
        print(i,end=" ")
    i = i + 1
 
# This code is contributed
# by Nikita Tiwari.


C#




// Java program to check and
// Print Pronic Number upto 200
using System;
 
class GFG
{
 
    // function to check
    // Pronic Number
    static bool checkPronic(int x)
    {
        for (int i = 0;
                 i <= (int)(Math.Sqrt(x));
                 i++)
             
            // Checking Pronic Number by
            // multiplying consecutive numbers
            if (x == i * (i + 1))
                return true;
         
        return false;
    }
 
    // Driver Code
    public static void Main()
    {
        // Printing Pronic
        // Numbers upto 200
        for (int i = 0; i <= 200; i++)
            if (checkPronic(i))
                Console.Write(i + " ");
    }
}
 
// This code is contributed by vt_m.


PHP




<?php
// PHP program to check
// if a number is pronic
 
// function to check
// Pronic Number
function checkPronic($x)
{
 
    for ($i = 0;
         $i <= (sqrt($x));
         $i++)
 
        // Checking Pronic Number
        // by multiplying consecutive
        // numbers
        if ($x == $i * ($i + 1))
        return true;
 
    return false;
}
 
// Driver Code
 
// Printing Pronic
// Numbers upto 200
for ($i = 0; $i <= 200; $i++)
    if (checkPronic($i))
        echo $i , " ";
 
// This code is contributed by Ajit
?>


Javascript




<script>
 
// Javascript program to check
// if a number is pronic
 
// function to check
// Pronic Number
function checkPronic(x)
{
 
    for (var i = 0;
            i <= parseInt(Math.sqrt(x));
            i++)
 
        // Checking Pronic Number
        // by multiplying consecutive
        // numbers
        if (x == i * (i + 1))
        return true;
 
    return false;
}
 
// Driver Code
 
// Printing Pronic Numbers
// upto 200
for (var i = 0; i <= 200; i++)
    if (checkPronic(i))
        document.write(i + " ");
 
// This code is contributed by noob2000
</script>


Output : 
 

0 2 6 12 20 30 42 56 72 90 110 132 156 182

Time complexity: O( n sqrt n) to check for n numbers 
Auxiliary Space : O(1)
If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
 


Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!

Last Updated : 21 Jun, 2022
Like Article
Save Article
Previous
Next
Similar Reads
Complete Tutorials