# C++ Program for Largest K digit number divisible by X

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);` `}` |

**Output:**

990

Please refer complete article on Largest K digit number divisible by X for more details!