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

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

## Python Programming Puzzles: Exercise-56 with Solution

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.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

﻿