Java 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.


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.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)>




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

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

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up
Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at to report any issue with the above content.