Integers X and K are given. The task is to find the smallest K-digit number divisible by X.
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
An efficient solution would be :
Compute MIN : smallest K-digit number (1000...K-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.
To understand Math.pow() function, please refer point 18 of the article :
Please refer complete article on Smallest K digit number divisible by X for more details!
- C++ Program for Smallest K digit number divisible by X
- Java Program for Largest K digit number divisible by X
- Smallest K digit number divisible by X
- Smallest n digit number divisible by given three numbers
- C++ Program for Largest K digit number divisible by X
- Sum of n digit numbers divisible by a given number
- Largest K digit number divisible by X
- Find nth number that contains the digit k or divisible by k.
- Smallest N digit number which is a multiple of 5
- Count n digit numbers divisible by given number
- Largest N digit number divisible by given three numbers
- Java Program to check whether it is possible to make a divisible by 3 number using all digits in an array
- Check if the first and last digit of the smallest number forms a prime
- Smallest number divisible by first n numbers
- Smallest number with sum of digits as N and divisible by 10^N