La potencia de un número dice cuántas veces usar el número en una multiplicación. Las potencias también se llaman exponentes o índices. Por ejemplo, 8^2 podría llamarse «8 elevado a 2» u «8 elevado a segundo», o simplemente «8 al cuadrado».
Algunos datos interesantes sobre el poder:
- Si los índices son 1, entonces solo tienes el número en sí. Por ejemplo, 5^1 = 5
- Si los índices son 0, obtienes 1. Por ejemplo, 5^0 = 1
- Los exponentes facilitan la escritura y el uso de muchas multiplicaciones
- Exponente negativo significa cuántas veces hay que dividir uno por el número. Por ejemplo, 5^-1 = 1/5 = 0,2
¿Cómo comprobamos si un número es potencia de y para un entero x dado?
Solución ingenua:
dados dos números positivos x e y, compruebe si y es una potencia de x o no.
Ejemplos:
Input: x = 10, y = 1 Output: True Input: x = 10, y = 1000 Output: True Input: x = 10, y = 1001 Output: False
Enfoque: una solución simple es calcular repetidamente las potencias de x. Si una potencia se vuelve igual a y, entonces y es una potencia, de lo contrario no.
C++
// C++ program to check if a number is power of // another number #include <bits/stdc++.h> using namespace std; /* Returns 1 if y is a power of x */ bool isPower(int x, long int y) { // The only power of 1 is 1 itself if (x == 1) return (y == 1); // Repeatedly comput power of x long int pow = 1; while (pow < y) pow *= x; // Check if power of x becomes y return (pow == y); } /* Driver program to test above function */ int main() { cout << (isPower(10, 1) ? "True" : "False") << endl; cout << (isPower(1, 20) ? "True" : "False") << endl; cout << (isPower(2, 128) ? "True" : "False") << endl; cout << (isPower(2, 30) ? "True" : "False") << endl; return 0; }
Java
// Java program to check if a number is power of // another number public class Test { // driver method to test power method public static void main(String[] args) { // check the result for true/false and print. System.out.println(isPower(10, 1) ? "True" : "False"); System.out.println(isPower(1, 20) ? "True" : "False"); System.out.println(isPower(2, 128) ? "True" : "False"); System.out.println(isPower(2, 30) ? "True" : "False"); } /* Returns true if y is a power of x */ public static boolean isPower(int x, int y) { // The only power of 1 is 1 itself if (x == 1) return (y == 1); // Repeatedly compute power of x int pow = 1; while (pow < y) pow = pow * x; // Check if power of x becomes y return (pow == y); } }
Python3
# Python program to check # if a number is power of # another number # Returns true if y is a # power of x def isPower (x, y): # The only power of 1 # is 1 itself if (x == 1): return (y == 1) # Repeatedly compute # power of x pow = 1 while (pow < y): pow = pow * x # Check if power of x # becomes y return (pow == y) # Driver Code # check the result for # true/false and print. if(isPower(10, 1)): print("True") else: print("False") if(isPower(1, 20)): print("True") else: print("False") if(isPower(2, 128)): print("True") else: print("False") if(isPower(2, 30)): print("True") else: print("False")
C#
// C# program to check if a number // is power of another number using System; class GFG { // Returns true if y is a power of x public static bool isPower (int x, int y) { // The only power of 1 is 1 itself if (x == 1) return (y == 1); // Repeatedly compute power of x int pow = 1; while (pow < y) pow = pow * x; // Check if power of x becomes y return (pow == y); } // Driver Code public static void Main () { //check the result for true/false and print. Console.WriteLine(isPower(10, 1) ? "True" : "False"); Console.WriteLine(isPower(1, 20) ? "True" : "False"); Console.WriteLine(isPower(2, 128) ? "True" : "False"); Console.WriteLine(isPower(2, 30) ? "True" : "False"); } }
PHP
<?php // PHP program to check if a // number is power of another number /* Returns 1 if y is a power of x */ function isPower($x, $y) { // The only power of 1 is 1 itself if ($x == 1) return ($y == 1 ? "True" : "False"); // Repeatedly comput power of x $pow = 1; while ($pow < $y) $pow *= $x; // Check if power of x becomes y return ($pow == $y ? "True" : "False"); } // Driver Code echo isPower(10, 1) . "\n"; echo isPower(1, 20) . "\n"; echo isPower(2, 128) . "\n"; echo isPower(2, 30) . "\n"; ?>
Javascript
<script> // Javascript program to check if a number is power of // another number /* Returns 1 if y is a power of x */ function isPower( x, y) { // The only power of 1 is 1 itself if (x == 1) return (y == 1); // Repeatedly comput power of x let pow = 1; while (pow < y) pow *= x; // Check if power of x becomes y return (pow == y); } // Driver Code document.write((isPower(10, 1) ? "True" : "False") + "</br>"); document.write((isPower(1, 20) ? "True" : "False") + "</br>"); document.write((isPower(2, 128) ? "True" : "False") + "</br>"); document.write((isPower(2, 30) ? "True" : "False") + "</br>"); </script>
Producción:
True False True False
La complejidad temporal de la solución anterior es O (Log x y)
Espacio Auxiliar: O(1)
Programa Básico relacionado con la Potencia:
- Encuentra el dígito unitario de x elevado a la potencia y
- Comprueba si un número se puede expresar como x^y (x elevado a la potencia y)
- Encuentra el múltiplo de x más cercano a a^b
- Todos los números posibles de N dígitos y base B sin ceros a la izquierda
- Comprueba si un número se puede expresar como a^b | conjunto 2
- Escriba su propio Poder sin usar operadores de multiplicación (*) y división (/)
Más problemas relacionados con los poderes:
- Número total de subconjuntos en los que el producto de los elementos es par
- Suma de primeros N números naturales que no son potencias de K
- MCD de un número elevado a alguna potencia y otro número
- Mayor número de N dígitos divisible por tres números dados
- Verifique si un número dado está aislado de energía o no
Artículos recientes sobre Power!
Publicación traducida automáticamente
Artículo escrito por ABHISHEK TIWARI 13 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA