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

Given an integer N, the task is to check whether N the given number can be made a perfect square after adding 1 to it.
Examples:
Input: 3
Output: Yes
3 + 1 = 4 which is a perfect square i.e. 22Input: 5
Output: No
5 + 1 = 6 which is not a perfect square.
Approach: Check whether n + 1 is a perfect square or not by taking the square root of n + 1 and checking whether it is an integer. If it is then n + 1 is a perfect square and n is a sunny number.
Below is the implementation of the above approach:
C++
// C++ implementation of the approach#include <bits/stdc++.h>using namespace std;// Function that returns true// if x is a perfect squarebool isPerfectSquare(long double x){ // Find floating point value of // square root of x long double sr = sqrt(x); // If square root is an integer return ((sr - floor(sr)) == 0);}// Function that returns true// if n is a sunny numberbool isSunnyNum(int n){ // If (n + 1) is a perfect square if (isPerfectSquare(n + 1)) return true; return false;}// Driver codeint main(){ int n = 3; if (isSunnyNum(n)) cout << "Yes"; else cout << "No"; return 0;} |
Java
// Java implementation of the approach class GFG { // Function that returns true // if x is a perfect square static boolean isPerfectSquare(double x) { // Find floating point value of // square root of x double sr = Math.sqrt(x); // If square root is an integer return ((sr - Math.floor(sr)) == 0); } // Function that returns true // if n is a sunny number static boolean isSunnyNum(int n) { // If (n + 1) is a perfect square if (isPerfectSquare(n + 1)) return true; return false; } // Driver code public static void main (String[] args) { int n = 3; if (isSunnyNum(n)) System.out.println("Yes"); else System.out.println("No"); } }// This code is contributed by Ryuga |
Python3
# Python3 implementation of the approachimport math as mt# Function that returns true# if x is a perfect squaredef isPerfectSquare(x): # Find floating po value of # square root of x sr = mt.sqrt(x) # If square root is an eger return ((sr - mt.floor(sr)) == 0)# Function that returns true# if n is a sunny numberdef isSunnyNum(n): # If (n + 1) is a perfect square if (isPerfectSquare(n + 1)): return True return False# Driver coden = 3if (isSunnyNum(n)): print("Yes")else: print("No")# This code is contributed # by Mohit Kumar |
C#
// C# implementation of the approach using System;class GFG { // Function that returns true // if x is a perfect square static bool isPerfectSquare(double x) { // Find floating point value of // square root of x double sr = Math.Sqrt(x); // If square root is an integer return ((sr - Math.Floor(sr)) == 0); } // Function that returns true // if n is a sunny number static bool isSunnyNum(int n) { // If (n + 1) is a perfect square if (isPerfectSquare(n + 1)) return true; return false; } // Driver code public static void Main () { int n = 3; if (isSunnyNum(n)) Console.WriteLine("Yes"); else Console.WriteLine("No"); } }// This code is contributed by Code_Mech. |
PHP
<?php// PHP implementation of the approach// Function that returns true// if x is a perfect squarefunction isPerfectSquare($x){ // Find floating point value of // square root of x $sr = sqrt($x); // If square root is an integer return (($sr - floor($sr)) == 0);}// Function that returns true// if n is a sunny numberfunction isSunnyNum($n){ // If (n + 1) is a perfect square if (isPerfectSquare($n + 1)) return true; return false;}// Driver code$n = 3;if (isSunnyNum($n)) echo "Yes";else echo "No";// This code is contributed// by Akanksha Rai?> |
Javascript
<script>// Javascript implementation of the approach// Function that returns true// if x is a perfect squarefunction isPerfectSquare(x){ // Find floating point value of // square root of x let sr = Math.sqrt(x); // If square root is an integer return ((sr - Math.floor(sr)) == 0);}// Function that returns true// if n is a sunny numberfunction isSunnyNum(n){ // If (n + 1) is a perfect square if (isPerfectSquare(n + 1)) return true; return false;}// Driver codelet n = 3;if (isSunnyNum(n)) document.write("Yes");else document.write("No"); // This code is contributed by rishavmahato348</script> |
Output:
Yes
Time Complexity: O(logn)
Auxiliary Space: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



