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