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 square bool 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 number bool isSunnyNum( int n) { // If (n + 1) is a perfect square if (isPerfectSquare(n + 1)) return true ; return false ; } // Driver code int 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 approach import math as mt # Function that returns true # if x is a perfect square def 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 number def isSunnyNum(n): # If (n + 1) is a perfect square if (isPerfectSquare(n + 1 )): return True return False # Driver code n = 3 if (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 square function 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 number function 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 square function 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 number function isSunnyNum(n) { // If (n + 1) is a perfect square if (isPerfectSquare(n + 1)) return true ; return false ; } // Driver code let n = 3; if (isSunnyNum(n)) document.write( "Yes" ); else document.write( "No" ); // This code is contributed by rishavmahato348 </script> |
Yes
Time Complexity: O(logn)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!