w3resource

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


Sequential Powers of Two

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:

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

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:

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

    For more Practice: Solve these Related Problems:

    • Write a Python program to find the smallest n such that concatenating the powers of 3 produces a number divisible by a given integer.
    • Write a Python program to compute the sum of digits of the number formed by writing sequential powers of 2.
    • Write a Python program to multiply consecutive numbers until the product reaches a specified digit length.
    • Write a Python program to determine the smallest n for which the concatenation of the first n natural numbers is divisible by a given divisor.

    Go to:


    Previous: Write a Python program to find the median among three given numbers
    Next: Write a Python program to find the number of zeros at the end of a factorial of a given positive number.

    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.



Follow us on Facebook and Twitter for latest update.