diff --git a/recursions/recursive_digit_sum.py b/recursions/recursive_digit_sum.py index ceec3bf77..86d19da0b 100644 --- a/recursions/recursive_digit_sum.py +++ b/recursions/recursive_digit_sum.py @@ -1,7 +1,7 @@ """ The super digit problem is defined as follows: -Given an integer n represented as a string and an integer k, -the goal is to find the super digit of the number formed by concatenating +Given an integer n represented as a string and an integer k, +the goal is to find the super digit of the number formed by concatenating the integer n k times. The super digit of a number is defined recursively: @@ -14,6 +14,7 @@ super_digit(9875987598759875), which can be reduced by summing its digits. from __future__ import annotations + def super_digit(n_str: str, repetitions: int) -> int: """ Computes the super digit of a number formed by concatenating n_str repetitions times. @@ -35,23 +36,24 @@ def super_digit(n_str: str, repetitions: int) -> int: # Calculate the initial sum of the digits in n_str digit_sum = sum(int(digit) for digit in n_str) - + # Multiply the sum by repetitions total_sum = digit_sum * repetitions - + # Recursive function to find the super digit while total_sum >= 10: total_sum = sum(int(digit) for digit in str(total_sum)) - + return total_sum -if __name__ == '__main__': + +if __name__ == "__main__": # Read input and split it into n_str and repetitions first_multiple_input = input().rstrip().split() - + n_str = first_multiple_input[0] # n as a string repetitions = int(first_multiple_input[1]) # repetitions as an integer - + # Call the super_digit function and print the result result = super_digit(n_str, repetitions) print(result)