Related Articles
Smallest K digit number divisible by X
• Difficulty Level : Easy
• Last Updated : 07 Apr, 2021

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

## C++

 `// C++ 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 Code``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);``}`

## Java

 `// Java code to find smallest K-digit``// number divisible by X` `import` `java.io.*;``import` `java.lang.*;` `class` `GFG {``    ``public` `static` `double` `answer(``double` `X, ``double` `K)``    ``{``        ``double` `i = ``10``;``        ``// Computing MIN``        ``double` `MIN = Math.pow(i, K - ``1``);` `        ``// returning ans``        ``if` `(MIN % X == ``0``)``            ``return` `(MIN);``        ``else``            ``return` `((MIN + X) - ((MIN + X) % X));``    ``}` `    ``public` `static` `void` `main(String[] args)``    ``{` `        ``// Number whose divisible is to be found``        ``double` `X = ``83``;``        ``double` `K = ``5``;` `        ``System.out.println((``int``)answer(X, K));``    ``}``}` `// Code contributed by Mohit Gupta_OMG <(0_o)>`

## Python3

 `# Python code to find smallest K-digit ``# number divisible by X` `def` `answer(X, K):``    ` `    ``# Computing MAX``    ``MIN` `=` `pow``(``10``, K``-``1``)``    ` `    ``if``(``MIN` `%` `X ``=``=` `0``):``        ``return` `(``MIN``)``    ` `    ``else``:``        ``return` `((``MIN` `+` `X) ``-` `((``MIN` `+` `X) ``%` `X))``    `  `X ``=` `83``;``K ``=` `5``;` `print``(answer(X, K));` `# Code contributed by Mohit Gupta_OMG <(0_o)>`

## C#

 `// C# code to find smallest K-digit``// number divisible by X``using` `System;` `class` `GFG {` `    ``// Function to compute the result``    ``public` `static` `double` `answer(``double` `X, ``double` `K)``    ``{` `        ``double` `i = 10;` `        ``// Computing MIN``        ``double` `MIN = Math.Pow(i, K - 1);` `        ``// returning ans``        ``if` `(MIN % X == 0)``            ``return` `MIN;``        ``else``            ``return` `((MIN + X) - ((MIN + X) % X));``    ``}` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{` `        ``// Number whose divisible is to be found``        ``double` `X = 83;``        ``double` `K = 5;` `        ``Console.WriteLine((``int``)answer(X, K));``    ``}``}` `// This code is contributed by vt_m.`

## PHP

 ``

## Javascript

 ``

Output :

`10043`

This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.