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

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.

`// CPP code to find smallest K-digit number ` `// divisible by X ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// Function to compute the result ` `int` `answer(` `int` `X, ` `int` `K) ` `{ ` ` ` `// Computing MIN ` ` ` `int` `MIN = ` `pow` `(10, K - 1); ` ` ` ` ` `// MIN is the result ` ` ` `if` `(MIN % X == 0) ` ` ` `return` `MIN; ` ` ` ` ` `// returning ans ` ` ` `return` `((MIN + X) - ((MIN + X) % X)); ` `} ` ` ` `// Driver ` `int` `main() ` `{ ` ` ` `// Number whose divisible is to be found ` ` ` `int` `X = 83; ` ` ` ` ` `// Max K-digit divisible is to be found ` ` ` `int` `K = 5; ` ` ` ` ` `cout << answer(X, K); ` `} ` |

*chevron_right*

*filter_none*

**Output:**

10043

Please refer complete article on Smallest K digit number divisible by X for more details!

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Java Program for Smallest K digit number divisible by X
- Smallest K digit number divisible by X
- Smallest n digit number divisible by given three numbers
- Smallest N digit number divisible by N
- Smallest N digit number divisible by all possible prime digits
- Count of N-digit numbers having digit XOR as single digit
- Count numbers in a range with digit sum divisible by K having first and last digit different
- C++ Program for Largest K digit number divisible by X
- Java Program for Largest K digit number divisible by X
- Generate a number such that the frequency of each digit is digit times the frequency in given number
- Minimum N-Digit number required to obtain largest N-digit number after performing given operations
- Perform n steps to convert every digit of a number in the format [count][digit]
- Largest number less than N with digit sum greater than the digit sum of N
- Count of Numbers in Range where first digit is equal to last digit of the number
- Find the remainder when First digit of a number is divided by its Last digit
- Last digit of a number raised to last digit of N factorial
- Min steps to convert N-digit prime number into another by replacing a digit in each step
- Largest K digit number divisible by X
- Print digit's position to be removed to make a number divisible by 6
- Find nth number that contains the digit k or divisible by k.