![]() |
VOOZH | about |
Integers X and K are given. The task is to find the smallest K-digit number divisible by X.
Examples :
Input : X = 83, K = 5 Output : 10043 10040 is the smallest 5 digit number that is multiple of 83. Input : X = 5, K = 2 Output : 10
A simple solution is to try all numbers starting from the smallest K digit number
(which is 100…(K-1)times) and return the first number divisible by X.
An efficient solution would be :
Compute MIN : smallest K-digit number (1000...(K-1)times) If, MIN % X is 0, ans = MIN else, ans = (MIN + X) - ((MIN + X) % X)) This is because there will be a number in range [MIN...MIN+X] divisible by X.
Output :
10043
Time Complexity: O(logk)
Auxiliary Space: O(1)