Open In App

Power in Mathematics

Improve
Improve
Like Article
Like
Save
Share
Report

The power of a number says how many times to use the number in a multiplication. Powers are also called Exponents or Indices. For example, 8^2 could be called “8 to the power 2” or “8 to the second power”, or simply “8 squared”. 
 

Some interesting fact about Power : 
 

  1. If the indices is 1, then you just have the number itself. For example, 5^1 = 5
  2. If the indices is 0, then you get 1. For example, 5^0 = 1
  3. Exponents make it easier to write and use many multiplications
  4. Negative exponent means how many times to divide one by the number.For example, 5^-1 = 1 /5 = 0.2

How we check if a number is power of y for a given integer x ?
Naive solution: 
Given two positive numbers x and y, check if y is a power of x or not.
Examples : 
 

Input:  x = 10, y = 1
Output: True

Input:  x = 10, y = 1000
Output: True

Input:  x = 10, y = 1001
Output: False

Approach : A simple solution is to repeatedly compute powers of x. If a power becomes equal to y, then y is a power, else not. 
 

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


Output: 
 

True
False
True
False

Time complexity of above solution is O(Logxy)

Auxiliary Space: O(1)
Basic Program related to Power : 
 

More problems related to Powers : 
 

Recent Articles on Power! 
 



Last Updated : 05 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads