Open In App

Find the Next perfect square greater than a given number

Last Updated : 24 Jun, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

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

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

Input: N = 9
Output: 16

Approach:  

  1. Find the square root of given N.
  2. Calculate its floor value using floor function in C++.
  3. Then add 1 to it.
  4. 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
Python
# 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
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>
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
?>

Output
36

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


Next Article

Similar Reads