Número de dígito K más grande divisible por X

Se dan los números enteros X y K. La tarea es encontrar el número de dígitos K más alto divisible por X.
Ejemplos: 
 

Input : X = 30, K = 3
Output : 990
990 is the largest three digit 
number divisible by 30.

Input : X = 7, K = 2
Output : 98

Una solución simple es probar todos los números a partir del número de dígitos K más grande (que es 999…K-veces) y devolver el primer número divisible por X.
Una solución eficiente es usar la siguiente fórmula. 
 

ans = MAX - (MAX % X)
where MAX is the largest K digit 
number which is  999...K-times

La fórmula funciona en la división del método escolar simple. Eliminamos el resto para obtener el mayor número divisible.
 

C++

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

Java

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

Python3

# 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#

// 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
// PHP code to find highest K-digit
// number divisible by X
 
// Function to compute the result
function 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
?>

Javascript

<script>
// Javascript code to find highest K-digit
// number divisible by X
 
// Function to compute the result
function 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>

Producción: 
 

990

Este artículo es una contribución de Rohit Thapliyal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *