Skip to content
Related Articles

Related Articles

Improve Article

Java Program for Largest K digit number divisible by X

  • Last Updated : 05 Dec, 2018
Geek Week

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!

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.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with experts, please refer DSA Live Classes for Working Professionals and Competitive Programming Live for Students.

My Personal Notes arrow_drop_up
Recommended Articles
Page :