Poder en Matemáticas

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: 
 

  1. Si los índices son 1, entonces solo tienes el número en sí. Por ejemplo, 5^1 = 5
  2. Si los índices son 0, obtienes 1. Por ejemplo, 5^0 = 1
  3. Los exponentes facilitan la escritura y el uso de muchas multiplicaciones
  4. 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: 
 

Más problemas relacionados con los poderes: 
 

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *