Java Program to Add Digits Until the Number Becomes a Single Digit NumberIn this section, we will create Java programs that add digits of a number until the number becomes a single-digit number. The problem is also known as the digit root problem. Example Suppose, 76345 is a number for which we have to find the sum until it becomes a single-digit number. 7 + 6 + 3 + 4 + 5 = 25 Further, we will add 2 and 5. 2 + 5 = 7 We get 7 as a single-digit number. Brute Force Approach
Let's implement the above logic in a Java program. SingleDigit.java Output: The sum of digits is: 1 We can also solve the above problem without using any loop and recursion. The approach is as follows: In this approach, first, check if the number is divisible by 9 or not. If divisible, add the digits together and check if the sum is divisible by the number 9 or not. If divisible, the number is divisible by 9, else not. For example, 54 i.e. (5 + 4 = 9). We get 9 as the sum of digits. Hence, the sum is divisible by 9. We observe that if a number (n) is divisible by 9, then sum up its digit until the sum becomes a single digit which is always 9. For example: n = 2880 Sum of digits = 2 + 8 + 8 + 0 = 18 The number 18 further can be added to form a single digit number. 18 = 1 + 8 = 9 The answer is always 9, if a number has the form like 9x. If the number is of the form 9x+k A number can be of the form 9x or 9x + k. For the first case, the answer is always 9. For the second case, the answer is always k which is the remainder.
Let's implement the above approach in a Java program. SumOfDigits.java Output: The sum of digits is: 2 The above approach solves the problem in O(1) time. Another approach that solves the problem in O(1) is as follows: |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India