Given a digital root ‘D’ and number of digits ‘K’. The task is to print a number containing K digits that has its digital root equal to D. Print ‘-1’ if such a number does not exist.
Input: D = 4, K = 4 Output: 4000 No. of digits is 4. Sum of digits is also 4. Input: D = 0, K = 1 Output: 0
Approach: A key observation to solving this problem is that appending any number of 0s to a number does not change its digital root. Hence D followed by (K-1) 0’s is a simple solution.
Special case when D is 0 and K is not 1 does not have a solution since the only number with digital root 0 is 0 itself.
Below is the implementation of the above approach:
Time complexity: O(K)
- Find Nth positive number whose digital root is X
- Digital Root (repeated digital sum) of the given large integer
- Smallest root of the equation x^2 + s(x)*x - n = 0, where s(x) is the sum of digits of root x.
- Numbers in a Range with given Digital Root
- Sudo Placement[1.7] | Greatest Digital Root
- Print a number strictly less than a given number such that all its digits are distinct.
- Print path from root to all nodes in a Complete Binary Tree
- Check whether product of digits at even places is divisible by sum of digits at odd place of a number
- Maximize the given number by replacing a segment of digits with the alternate digits given
- Count of numbers between range having only non-zero digits whose sum of digits is N and number is divisible by M
- Find the Largest number with given number of digits and sum of digits
- Find smallest number with given number of digits and sum of digits
- Minimum number of digits to be removed so that no two consecutive digits are same
- Smallest number with given sum of digits and sum of square of digits
- N-th root of a number
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.