Dado un número, comprueba si es un cuadrado perfecto o no.
Ejemplos:
Input : 2500 Output : Yes Explanation: 2500 is a perfect square. 50 * 50 = 2500 Input : 2555 Output : No
Acercarse:
- Tome la raíz cuadrada de Floor()ed del número.
- Multiplica la raíz cuadrada dos veces.
- Use el operador booleano igual para verificar si el producto de la raíz cuadrada es igual al número dado.
C++
// CPP program to find if x is a // perfect square. #include <bits/stdc++.h> using namespace std; bool isPerfectSquare(long double x) { // Find floating point value of // square root of x. if (x >= 0) { long long sr = sqrt(x); // if product of square root //is equal, then // return T/F return (sr * sr == x); } // else return false if n<0 return false; } int main() { long long x = 2502; if (isPerfectSquare(x)) cout << "Yes"; else cout << "No"; return 0; }
Java
// Java program to find if x is a // perfect square. class GFG { static boolean isPerfectSquare(int x) { if (x >= 0) { // Find floating point value of // square root of x. int sr = (int)Math.sqrt(x); // if product of square root // is equal, then // return T/F return ((sr * sr) == x); } return false; } // Driver code public static void main(String[] args) { int x = 2502; if (isPerfectSquare(x)) System.out.print("Yes"); else System.out.print("No"); } } // This code is contributed by Anant Agarwal.
Python3
# Python program to find if x is a # perfect square. import math def isPerfectSquare(x): #if x >= 0, if(x >= 0): sr = int(math.sqrt(x)) # sqrt function returns floating value so we have to convert it into integer #return boolean T/F return ((sr*sr) == x) return false # Driver code x = 2502 if (isPerfectSquare(x)): print("Yes") else: print("No") # This code is contributed # by Anant Agarwal.
C#
// C# program to find if x is a // perfect square. using System; class GFG { static bool isPerfectSquare(double x) { // Find floating point value of // square root of x. if (x >= 0) { double sr = Math.Sqrt(x); // if product of square root // is equal, then // return T/F return (sr * sr == x); } // else return false if n<0 return false; } // Driver code public static void Main() { double x = 2502; if (isPerfectSquare(x)) Console.WriteLine("Yes"); else Console.WriteLine("No"); } } // This code is contributed by vt_m.
PHP
<?php // PHP program to find 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); } // Driver code $x = 2502; if (isPerfectSquare($x)) echo("Yes"); else echo("No"); // This code is contributed by Ajit. ?>
Javascript
<script> // JavaScript program to find if x is a // perfect square. function isPerfectSquare(x) { if (x >= 0) { // Find floating point value of // square root of x. let sr = Math.sqrt(x); // if product of square root // is equal, then // return T/F return ((sr * sr) == x); } return false; } // Driver code let x = 2500; if (isPerfectSquare(x)) document.write("Yes"); else document.write("No"); // This code is contributed by souravghosh0416. </script>
Producción
No
Para obtener más información sobre la función sqrt incorporada, consulte este Stackoverflow y este subprocesos de StackExchange.
Otro enfoque :
- Utilice la función suelo y techo.
- Si son iguales eso implica que el número es un cuadrado perfecto.
C++
// C++ program for the above approach #include <iostream> #include <math.h> using namespace std; void checkperfectsquare(int n) { // If ceil and floor are equal // the number is a perfect // square if (ceil((double)sqrt(n)) == floor((double)sqrt(n))) { cout << "perfect square"; } else { cout << "not a perfect square"; } } // Driver Code int main() { int n = 49; checkperfectsquare(n); return 0; }
Java
// Java program for the above approach import java.io.*; class GFG{ static void checkperfectsquare(int n) { // If ceil and floor are equal // the number is a perfect // square if (Math.ceil((double)Math.sqrt(n)) == Math.floor((double)Math.sqrt(n))) { System.out.print("perfect square"); } else { System.out.print("not a perfect square"); } } // Driver Code public static void main(String[] args) { int n = 49; checkperfectsquare(n); } } // This code is contributed by subhammahato348
Python3
# Python3 program for the above approach import math def checkperfectsquare(x): # If ceil and floor are equal # the number is a perfect # square if (math.ceil(math.sqrt(n)) == math.floor(math.sqrt(n))): print("perfect square") else: print("not a perfect square") # Driver code n = 49 checkperfectsquare(n) # This code is contributed by jana_sayantan
C#
// C# program for the above approach using System; class GFG{ static void checkperfectsquare(int n) { // If ceil and floor are equal // the number is a perfect // square if (Math.Ceiling((double)Math.Sqrt(n)) == Math.Floor((double)Math.Sqrt(n))) { Console.Write("perfect square"); } else { Console.Write("not a perfect square"); } } // Driver Code public static void Main() { int n = 49; checkperfectsquare(n); } } // This code is contributed by subhammahato348
Javascript
<script> // Javascript program for the above approach function checkperfectsquare(n) { // If ceil and floor are equal // the number is a perfect // square if (Math.ceil(Math.sqrt(n)) == Math.floor(Math.sqrt(n))) { document.write("perfect square"); } else { document.write("not a perfect square"); } } // Driver Code let n = 49; checkperfectsquare(n); // This code is contributed by rishavmahato348 </script>
Producción
perfect square
Complejidad del tiempo: O(sqrt(n))
Complejidad espacial : O(1)
Publicación traducida automáticamente
Artículo escrito por Aditya Darekar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA