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> |
Output:
Yes
Time Complexity: O(logn)
Auxiliary Space: O(1)