# C++ Program for Smallest K digit number divisible by X

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.
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

 `// CPP code to find smallest K-digit number ` `// divisible by X ` `#include ` `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); ` `} `

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.

My Personal Notes arrow_drop_up
Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.