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.

`// CPP code to find highest K-digit number divisible by X ` `#include <bits/stdc++.h> ` `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); ` `} ` |

*chevron_right*

*filter_none*

**Output:**

990

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.