# Find the Next perfect square greater than a given number

Given a number N, the task is to find the next perfect square greater than N.**Examples**:

Input:N = 6Output:9Explanation:9 is a greater number than 6 and is also a perfect square

Input:N = 9Output:16

**Approach:**

- Find the square root of given N.
- Calculate its floor value using floor function in C++.
- Then add 1 to it.
- Print square of that number.

Below is the implementation of above approach:

## C++

`// C++ implementation of above approach` `#include <iostream>` `#include<cmath>` `using` `namespace` `std;` `// Function to find the next perfect square` `int` `nextPerfectSquare(` `int` `N)` `{` ` ` `int` `nextN = ` `floor` `(` `sqrt` `(N)) + 1;` ` ` `return` `nextN * nextN;` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `n = 35;` ` ` `cout << nextPerfectSquare(n);` ` ` `return` `0;` `}` |

## Java

`// Java implementation of above approach` `import` `java.util.*;` `import` `java.lang.*;` `import` `java.io.*;` `class` `GFG` `{` ` ` `// Function to find the` `// next perfect square` `static` `int` `nextPerfectSquare(` `int` `N)` `{` ` ` `int` `nextN = (` `int` `)Math.floor(Math.sqrt(N)) + ` `1` `;` ` ` `return` `nextN * nextN;` `}` `// Driver Code` `public` `static` `void` `main(String args[])` `{` ` ` `int` `n = ` `35` `;` ` ` `System.out.println (nextPerfectSquare(n));` `}` `}` `// This code is contributed by Subhadeep` |

## Python3

`# Python3 implementation of above approach` `import` `math` `#Function to find the next perfect square` `def` `nextPerfectSquare(N):` ` ` `nextN ` `=` `math.floor(math.sqrt(N)) ` `+` `1` ` ` `return` `nextN ` `*` `nextN` `if` `__name__` `=` `=` `'__main__'` `:` ` ` `N ` `=` `35` ` ` `print` `(nextPerfectSquare(N))` `# this code is contributed by Surendra_Gangwar` |

## C#

`// C# implementation of above approach` `using` `System;` `class` `GFG` `{` ` ` `// Function to find the` `// next perfect square` `static` `int` `nextPerfectSquare(` `int` `N)` `{` ` ` `int` `nextN = (` `int` `)Math.Floor(Math.Sqrt(N)) + 1;` ` ` `return` `nextN * nextN;` `}` `// Driver Code` `public` `static` `void` `Main()` `{` ` ` `int` `n = 35;` ` ` `Console.WriteLine(nextPerfectSquare(n));` `}` `}` `// This code is contributed` `// by Shashank` |

## PHP

`<?php` `// PHP implementation` `// of above approach` `// Function to find the` `// next perfect square` `function` `nextPerfectSquare(` `$N` `)` `{` ` ` `$nextN` `= ` `floor` `(sqrt(` `$N` `)) + 1;` ` ` `return` `$nextN` `* ` `$nextN` `;` `}` `// Driver Code` `$n` `= 35;` `echo` `nextPerfectSquare(` `$n` `);` `// This code is contributed by mits` `?>` |

## Javascript

`<script>` `// Javascript implementation of above approach` `// Function to find the next perfect square` `function` `nextPerfectSquare(N)` `{` ` ` `let nextN = Math.floor(Math.sqrt(N)) + 1;` ` ` `return` `nextN * nextN;` `}` `// Driver Code` `let n = 35;` `document.write(nextPerfectSquare(n));` `// This code is contributed by souravmahato348.` `</script>` |

**Output:**

36

**Time Complexity: **O(logn) for given number n, as it is using inbuilt sqrt function**Auxiliary Space: **O(1)