Python: Find an integer exponent x such that a^x = n
Find Integer Exponent
Write a Python program to find an integer exponent x such that a^x = n.
Input: a = 2 : n = 1024 Output: 10 Input: a = 3 : n = 81 Output: 4 Input: a = 3 : n = 1290070078170102666248196035845070394933441741644993085810116441344597492642263849 Output: 170
Visual Presentation:
Sample Solution:
Python Code:
# Define a function named 'test' that takes two parameters, n and a
# The function finds an integer exponent x such that a^x = n
def test(n, a):
# Initialize variables m and x
m = 1
x = 0
# Use a while loop to find the exponent x
while m != n:
# Increment x and update m by multiplying it with a
x += 1
m *= a
# Return the found exponent x
return x
# Set values for variables a and n
a = 2
n = 1024
# Print a message indicating the values of a and n
print("a = ", a, ": n = ", n)
# Print a message indicating the task and the result of the test function
print("Find an integer exponent x such that a^x = n:")
# Print the result of the test function applied to the given values of a and n
print(test(n, a))
# Set new values for variables a and n
a = 3
n = 81
# Print a message indicating the values of a and n
print("\na = ", a, ": n = ", n)
# Print a message indicating the task and the result of the test function
print("Find an integer exponent x such that a^x = n:")
# Print the result of the test function applied to the new values of a and n
print(test(n, a))
# Set new values for variables a and n (large integer)
a = 3
n = 1290070078170102666248196035845070394933441741644993085810116441344597492642263849
# Print a message indicating the values of a and n
print("\na = ", a, ": n = ", n)
# Print a message indicating the task and the result of the test function
print("Find an integer exponent x such that a^x = n:")
# Print the result of the test function applied to the new values of a and n
print(test(n, a))
Sample Output:
a = 2 : n = 1024 Find an integer exponent x such that a^x = n: 10 a = 3 : n = 81 Find an integer exponent x such that a^x = n: 4 a = 3 : n = 1290070078170102666248196035845070394933441741644993085810116441344597492642263849 Find an integer exponent x such that a^x = n: 170
Flowchart:
Python Code Editor :
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Find the numbers that are greater than 10 and have odd first and last digits.
Next: Sum of the magnitudes of the elements in the array with product signs.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics