﻿ Python: Find the value of n where n degrees of number 2 are written sequentially in a line without spaces - w3resource

# Python: Find the value of n where n degrees of number 2 are written sequentially in a line without spaces

## Python Basic - 1: Exercise-19 with Solution

Write a Python program that finds the value of n when n degrees of number 2 are written sequentially on a line without spaces between them.

Visual Presentation:

Sample Solution:

Python Code:

``````# Define a function 'ndegrees' that calculates the highest power of a number 'n'
# such that the resulting number is found within a given input string 'num'.
def ndegrees(num):
ans = True  # Initialize a boolean variable 'ans' to True.
n, tempn, i = 2, 2, 2  # Initialize variables 'n', 'tempn', and 'i'.

# Use a while loop to check conditions.
while ans:
# Check if the string representation of 'tempn' is found within 'num'.
if str(tempn) in num:
i += 1  # Increment 'i'.
tempn = pow(n, i)  # Update 'tempn' with the next power of 'n'.
else:
ans = False  # Set 'ans' to False if 'tempn' is not found in 'num'.

return i - 1  # Return the highest power (i-1).

# Test the 'ndegrees' function with different input strings and print the results.
print(ndegrees("2481632"))
print(ndegrees("248163264"))
``````

Sample Output:

```5
6
```

Explanation:

The above Python code defines a function "ndegrees()" that calculates the highest power of a number 'n' such that the resulting number is found within a given input string 'num'. Here's a brief explanation:

• Function Definition:
• def ndegrees(num):: Define a function named "ndegrees()" that takes a string num as input.
• Initialization:
• ans = True: Initialize a boolean variable 'ans' to 'True'.
• n, tempn, i = 2, 2, 2: Initialize variables 'n' (base number), 'tempn' (temporary result), and i (exponent) to 2.
• While Loop:
• while ans:: Enter a while loop that continues as long as 'ans' is 'True'.
• if str(tempn) in num:: Check if the string representation of 'tempn' is found within the input string 'num'.
• i += 1: Increment the exponent i.
• tempn = pow(n, i): Update 'tempn' with the next power of 'n'.
• else:: If 'tempn' is not found in 'num', set 'ans' to 'False' to exit the loop.
• Return Result:
• return i - 1: Return the highest exponent (i-1) that satisfies the condition.>
• Function Testing:
• print(ndegrees("2481632")): Test the function with the input string "2481632" and print the result.
• print(ndegrees("248163264")): Test the function with the input string "248163264" and print the result.

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.

﻿