Check if a number can be expressed as x^y (x raised to power y)
Given a positive integer n, find if it can be expressed as x^y where y > 1 and x > 0. x and y both are integers.
Input: n = 8 Output: true 8 can be expressed as 2^3 Input: n = 49 Output: true 49 can be expressed as 7^2 Input: n = 48 Output: false 48 can't be expressed as x^y
We have discussed two different approaches in below post.
The idea is find Log n in different bases from 2 to square root of n. If Log n for a base becomes integer then result is true, else result is false.
# Python3 program to find if a number
# can be expressed as x raised to
# power y.
# Find Log n in different
# bases and check if the
# value is an integer
for x in range(2,int(math.sqrt(n)) + 1):
f = math.log(n) / math.log(x);
if ((f – int(f)) == 0.0):
# Driver code
for i in range(2, 100):
print(i, end = ” “);
# This code is contributed by mits
4 8 9 16 25 27 32 36 49 64 81
- Check if a number can be expressed as x^y (x raised to power y)
- Check if a number can be expressed as 2^x + 2^y
- Check if a number can be expressed as a^b | Set 2
- Check if a number can be expressed as a sum of consecutive numbers
- Check if a number can be expressed as sum two abundant numbers
- Check whether a number can be expressed as a product of single digit numbers
- Check if given number is a power of d where d is a power of 2
- Find ways an Integer can be expressed as sum of n-th power of unique natural numbers
- Check if a prime number can be expressed as sum of two Prime Numbers
- Check whether a given Number is Power-Isolated or not
- Given a HUGE number check if it's a power of two.
- Check if a number is power of k using base changing method
- Check if a number is a power of another number
- Numbers within a range that can be expressed as power of two numbers
- Check if an integer can be expressed as a sum of two semi-primes
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.