# Largest K digit number divisible by X

Integers X and K are given. The task is to find the highest K-digit number divisible by X.

Examples:

```Input : X = 30, K = 3
Output : 990
990 is the largest three digit
number divisible by 30.

Input : X = 7, K = 2
Output : 98
```

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

A simple solution is to try all numbers starting from the largest K digit number (which is 999…K-times) and return the first number divisible by X.

An efficient solution is to use below formula.

```ans = MAX - (MAX % X)
where MAX is the largest K digit
number which is  999...K-times```

The formula works on simple school method division. We remove remainder to get the largest divisible number.

## C++

 `// CPP code to find highest K-digit number divisible by X ` `#include ` `using` `namespace` `std; ` ` `  `// Function to compute the result ` `int` `answer(``int` `X, ``int` `K) ` `{ ` `    ``// Computing MAX ` `    ``int` `MAX = ``pow``(10, K) - 1; ` ` `  `    ``// returning ans ` `    ``return` `(MAX - (MAX % X)); ` `} ` ` `  `// Driver ` `int` `main() ` `{ ` `    ``// Number whose divisible is to be found ` `    ``int` `X = 30; ` ` `  `    ``// Max K-digit divisible is to be found ` `    ``int` `K = 3; ` ` `  `    ``cout << answer(X, K); ` `} `

## Java

 `// Java code to find highest ` `// 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 MAX ` `        ``double` `MAX = Math.pow(i, K) - ``1``; ` ` `  `        ``// returning ans ` `        ``return` `(MAX - (MAX % X)); ` `    ``} ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// Number whose divisible is to be found ` `        ``double` `X = ``30``; ` ` `  `        ``// Max K-digit divisible is to be found ` `        ``double` `K = ``3``; ` ` `  `        ``System.out.println((``int``)answer(X, K)); ` `    ``} ` `} ` ` `  `// Code contributed by Mohit Gupta_OMG <(0_o)> `

## Python3

 `# Python code to find highest  ` `# K-digit number divisible by X ` ` `  `def` `answer(X, K): ` `     `  `    ``# Computing MAX ` `    ``MAX` `=` `pow``(``10``, K) ``-` `1` `     `  `    ``# returning ans ` `    ``return` `(``MAX` `-` `(``MAX` `%` `X)) ` ` `  `X ``=` `30``;  ` `K ``=` `3``;  ` ` `  `print``(answer(X, K));  ` ` `  `# Code contributed by Mohit Gupta_OMG <(0_o)> `

## C#

 `// C# code to find highest ` `// K-digit number divisible by X ` ` `  `using` `System; ` ` `  `class` `GFG { ` `     `  `    ``public` `static` `double` `answer(``double` `X, ``double` `K) ` `    ``{ ` `         `  `        ``double` `i = 10; ` `         `  `        ``// Computing MAX ` `        ``double` `MAX = Math.Pow(i, K) - 1; ` ` `  `        ``// returning ans ` `        ``return` `(MAX - (MAX % X)); ` `    ``} ` ` `  `    ``public` `static` `void` `Main() ` `    ``{ ` ` `  `        ``// Number whose divisible is to be found ` `        ``double` `X = 30; ` ` `  `        ``// Max K-digit divisible is to be found ` `        ``double` `K = 3; ` ` `  `        ``Console.WriteLine((``int``)answer(X, K)); ` `    ``} ` `} ` ` `  `// This code is contributed by vt_m. `

## PHP

 ` `

Output:

```990
```

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.