Related Articles
Largest K digit number divisible by X
• Difficulty Level : Basic
• Last Updated : 16 Apr, 2021

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

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

 ``

## Javascript

 ``

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.