Skip to content
Related Articles

Related Articles

Improve Article
Check whether the number can be made perfect square after adding 1
  • Last Updated : 09 Apr, 2021

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:
Output: Yes 
3 + 1 = 4 which is a perfect square i.e. 22

Input:
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

 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with industry experts, please refer DSA Live Classes




My Personal Notes arrow_drop_up
Recommended Articles
Page :