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

• Last Updated : 05 Dec, 2018

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!

My Personal Notes arrow_drop_up