VOOZH about

URL: https://www.geeksforgeeks.org/dsa/digital-root-of-a-given-large-integer-using-recursion/

⇱ Digital Root of a given large number using Recursion - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Digital Root of a given large number using Recursion

Last Updated : 12 Jul, 2025

Given a large number num in the form of string with length as N, the task is to find its digital root

The digital root of a positive integer is found by summing the digits of the integer. If the resulting value is a single digit then that digit is the digital root. If the resulting value contains two or more digits, those digits are summed and the process is repeated. This is continued as long as necessary to obtain a single digit.

Examples: 

Input: num = 675987890789756545689070986776987
Output:
Explanation: 
Sum of individual digit of the above number = 212 
Sum of individual digit of 212 = 5 
So the Digital root is 5

Input: num = 876598758938317432685778263 
Output:
Explanation: 
Sum of individual digit of the above number = 155 
Sum of individual digit of 155 = 11 
Sum of individual digit of 11 = 2 
So the Digital root is 2 

Approach:

Follow the below steps to solve the problem:

  • Find out all the digits of a number.
  • Add all the number one by one.
  • If the final sum contains more than one digit, Call the recursive function again to make it a single digit.
  • The result obtained in the single-digit is the Digital Root of the number.

Below is the implementation of the above approach: 


Output
5

Time Complexity: O(N), which can be computed as follows:

  • O(log N) time to find the sum of digits of num first time, where N is the count of digits initially.
  • O(log log N) time to find the sum of digits next time
  • O(log log log N) time to find the sum of digits next time
  • ... and so on.

Auxiliary Space: O(1), since the sum stored in the string will not exceed 3 digits for N ? 105

Comment