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