Check whether the number can be made perfect square after adding K

Given two numbers N and K, the task is to check whether the given number N can be made a perfect square after adding K to it.

Examples:

Input: N = 7, K = 2
Output: Yes
Explanation:
7 + 2 = 9 which is a perfect square.



Input: N = 5, K = 3
Output: No
Explanation:
5 + 3 = 8 which is not a perfect square.

Approach: The idea is to compute the value of N + K and check if it is a perfect square or not. In order to check if a number is a perfect square or not, refer to this article.

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to check whether the number
// can be made perfect square after adding K
  
#include <bits/stdc++.h>
using namespace std;
  
// Function to check whether the number
// can be made perfect square after adding K
void isPerfectSquare(long long int x)
{
  
    // Computing the square root of
    // the number
    long double sr = round(sqrt(x));
  
    // Print Yes if the number
    // is a perfect square
    if (sr * sr == x)
        cout << "Yes";
    else
        cout << "No";
}
  
// Driver code
int main()
{
    int n = 7, k = 2;
    isPerfectSquare(n + k);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to check whether the number
// can be made perfect square after adding K
import java.util.*;
  
class GFG
{
      
    // Function to check whether the number
    // can be made perfect square after adding K
    static void isPerfectSquare(int x)
    {
      
        // Computing the square root of
        // the number
        int sr = (int)Math.sqrt(x);
      
        // Print Yes if the number
        // is a perfect square
        if (sr * sr == x)
            System.out.println("Yes");
        else
            System.out.println("No");
    }
      
    // Driver code
    public static void main(String args[])
    {
        int n = 7, k = 2;
        isPerfectSquare(n + k);
      
    }
}
  
// This code is contributed by Yash_R

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to check whether the number 
# can be made perfect square after adding K 
from math import sqrt
  
# Function to check whether the number 
# can be made perfect square after adding K 
def isPerfectSquare(x) : 
  
    # Computing the square root of 
    # the number 
    sr = int(sqrt(x)); 
  
    # Print Yes if the number 
    # is a perfect square 
    if (sr * sr == x) :
        print("Yes"); 
    else :
        print("No"); 
  
# Driver code 
if __name__ == "__main__"
  
    n = 7; k = 2
    isPerfectSquare(n + k); 
  
# This code is contributed by Yash_R

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to check whether the number
// can be made perfect square after adding K
using System;
  
class GFG
{
      
    // Function to check whether the number
    // can be made perfect square after adding K
    static void isPerfectSquare(int x)
    {
      
        // Computing the square root of
        // the number
        int sr = (int)Math.Sqrt(x);
      
        // Print Yes if the number
        // is a perfect square
        if (sr * sr == x)
            Console.WriteLine("Yes");
        else
            Console.WriteLine("No");
    }
      
    // Driver code
    public static void Main(String []args)
    {
        int n = 7;
        int k = 2;
        isPerfectSquare(n + k);    
    }
}
  
// This code is contributed by Yash_R

chevron_right


Output:

Yes

Note: Similar, it can be checked whether (N – K) can be a perfect square or not, by replacing ‘+’ with ‘-‘ sign in the above function.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : Yash_R