Integers X and K are given. The task is to find 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

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.

`// 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 contributes by Mohit Gupta_OMG <(0_o)> ` |

*chevron_right*

*filter_none*

**Output:**

990

To understand Math.pow() function, please refer point 18 of the article :

https://www.geeksforgeeks.org/java-lang-math-class-java-set-2/

Please refer complete article on Largest 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.