w3resource

Python: Find an integer exponent x such that a^x = n

Python Programming Puzzles: Exercise-56 with Solution

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:

Python: Find an integer exponent x such that a^x = n.

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:

Flowchart: Python - Find an integer exponent x such that a^x = n.

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.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/python-exercises/puzzles/python-programming-puzzles-56.php