Related Articles

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

• Last Updated : 08 Apr, 2021

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++

 `// C++ program to check whether the number``// can be made perfect square after adding K` `#include ``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;``}`

## Java

 `// 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`

## Python3

 `# 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`

## C#

 `// 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`

## Javascript

 ``
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.

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up