Java Program for Largest K digit number divisible by X
Last Updated :
05 Dec, 2018
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.
import java.io.*;
import java.lang.*;
class GFG {
public static double answer( double X, double K)
{
double i = 10 ;
double MAX = Math.pow(i, K) - 1 ;
return (MAX - (MAX % X));
}
public static void main(String[] args)
{
double X = 30 ;
double K = 3 ;
System.out.println(( int )answer(X, K));
}
}
|
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!
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...