Largest K digit number divisible by X

16 Apr, 2021
Integers X and K are given. The task is to find the 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
 
A simple solution is to try all numbers starting from the largest K digit number (which is 999...K-times) and return the first number divisible by X.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. 
C++
Java
Python3
C#
PHP
Javascript
// CPP code to find highest K-digit number divisible by X#include <bits/stdc++.h>using namespace std; // Function to compute the resultint answer(int X, int K){    // Computing MAX    int MAX = pow(10, K) - 1;     // returning ans    return (MAX - (MAX % X));} // Driverint 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);}
// Java code to find highest// K-digit number divisible by X import java.io.*;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 contributed by Mohit Gupta_OMG <(0_o)>
# Python code to find highest# K-digit number divisible by X def answer(X, K):         # Computing MAX    MAX = pow(10, K) - 1         # returning ans    return (MAX - (MAX % X)) X = 30;K = 3; print(answer(X, K)); # Code contributed by Mohit Gupta_OMG <(0_o)>
// C# code to find highest// K-digit number divisible by X using System; 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()    {         // Number whose divisible is to be found        double X = 30;         // Max K-digit divisible is to be found        double K = 3;         Console.WriteLine((int)answer(X, K));    }} // This code is contributed by vt_m.
<?php// PHP code to find highest K-digit// number divisible by X // Function to compute the resultfunction answer($X, $K){         // Computing MAX    $MAX = pow(10, $K) - 1;     // returning ans    return ($MAX - ($MAX % $X));} // Driver    // Number whose divisible    // is to be found    $X = 30;     // Max K-digit divisible    // is to be found    $K = 3;     echo answer($X, $K); // This code is contributed by ajit?>
<script>// Javascript code to find highest K-digit// number divisible by X // Function to compute the resultfunction answer(X, K){         // Computing MAX    let MAX = Math.pow(10, K) - 1;     // returning ans    return (MAX - (MAX % X));} // Driver    // Number whose divisible    // is to be found    let X = 30;     // Max K-digit divisible    // is to be found    let K = 3;     document.write(answer(X, K)); // This code is contributed by gfgking</script>
Output:  
990
This article is contributed by Rohit Thapliyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. 
vt_m
jit_t
Akanksha_Rai
gfgking
divisibility
Mathematical
School Programming
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Merge two sorted arrays
Operators in C / C++
Sieve of Eratosthenes
Prime Numbers
Find minimum number of coins that make a given value
Python Dictionary
Reverse a string in Java
Arrays in C/C++
Introduction To PYTHON
Interfaces in Java