A number is said to be **a pronic number** if the number is the product of two consecutive integer numbers.

**For example**, if **we consider a number 72**, it is **the product of two consecutive integers 8 and 9**. Therefore, **72 is a pronic number**.

Now, if **we consider a number 16**, it is **the product of 2 and 8 or** **4 and 4** but **no one is the consecutive integers**. Therefore, **16 is not a pronic number**.

For this program, first, the number is taken as input. A loop is executed from 1 to half of the number and if the number is the product of any two consecutive numbers then the number is a pronic number otherwise not.

```
INPUT: A number
OUTPUT: Whether it is a pronic number or not
PROCESS:
Step 1: [Taking the input]
Read n [The number to be checked]
Step 2: [Checking for pronic number]
For i=1 to n/2 repeat
If i×(i+1)=n then
Print "The given number is a pronic number"
[End of ‘if’]
[End of ‘for’ loop]
[If the number is not a pronic number]
If i>n/2+1
Print "The given number is not a pronic number"
[End of ‘if’]
Step 3: Stop.
```

for(i=0;i<=n/2;i++)------------------------------------**O(n)**

{

if(i*(i+1)==n)-------------------------------**O(1)**

printf("The given number is a pronic number");

}

//if the number is not a pronic number

if(i>n/2+1)-----------------------------------------------**O(1)**

printf("The given number is not a pronic number");

The **time complexity of this program** is **O(n)** where ‘n’ is the given number.

The **space complexity of this program** is **O(1)** as it requires a constant number of memory spaces to execute the program for any given input.