Se dan los números enteros X y K. La tarea es encontrar el número de dígitos K más pequeño divisible por X.
Ejemplos:
Input : X = 83, K = 5 Output : 10043 10040 is the smallest 5 digit number that is multiple of 83. Input : X = 5, K = 2 Output : 10
Una solución simple es probar todos los números comenzando desde el dígito K más pequeño
(que es 100…(K-1)veces) y devolver el primer número divisible por X.
Una solución eficiente sería:
Compute MIN : smallest K-digit number (1000...(K-1)times) If, MIN % X is 0, ans = MIN else, ans = (MIN + X) - ((MIN + X) % X)) This is because there will be a number in range [MIN...MIN+X] divisible by X.
C++
// C++ code to find smallest 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 MIN int MIN = pow(10, K - 1); // MIN is the result if (MIN % X == 0) return MIN; // returning ans return ((MIN + X) - ((MIN + X) % X)); } // Driver Code int main() { // Number whose divisible is to be found int X = 83; // Max K-digit divisible is to be found int K = 5; cout << answer(X, K); }
Java
// Java code to find smallest 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 MIN double MIN = Math.pow(i, K - 1); // returning ans if (MIN % X == 0) return (MIN); else return ((MIN + X) - ((MIN + X) % X)); } public static void main(String[] args) { // Number whose divisible is to be found double X = 83; double K = 5; System.out.println((int)answer(X, K)); } } // Code contributed by Mohit Gupta_OMG <(0_o)>
Python3
# Python code to find smallest K-digit # number divisible by X def answer(X, K): # Computing MAX MIN = pow(10, K-1) if(MIN % X == 0): return (MIN) else: return ((MIN + X) - ((MIN + X) % X)) X = 83; K = 5; print(answer(X, K)); # Code contributed by Mohit Gupta_OMG <(0_o)>
C#
// C# code to find smallest K-digit // number divisible by X using System; class GFG { // Function to compute the result public static double answer(double X, double K) { double i = 10; // Computing MIN double MIN = Math.Pow(i, K - 1); // returning ans if (MIN % X == 0) return MIN; else return ((MIN + X) - ((MIN + X) % X)); } // Driver code public static void Main() { // Number whose divisible is to be found double X = 83; double K = 5; Console.WriteLine((int)answer(X, K)); } } // This code is contributed by vt_m.
PHP
<?php // PHP code to find smallest // K-digit number divisible by X // Function to compute // the result function answer($X, $K) { // Computing MIN $MIN = pow(10, $K - 1); // MIN is the result if ($MIN % $X == 0) return $MIN; // returning ans return (($MIN + $X) - (($MIN + $X) % $X)); } // Driver Code // Number whose divisible // is to be found $X = 83; // Max K-digit divisible // is to be found $K = 5; echo answer($X, $K); // This code is contributed by ajit ?>
Javascript
<script> // Javascript code to find smallest // K-digit number divisible by X // Function to compute // the result function answer(X, K) { // Computing MIN let MIN = Math.pow(10, K - 1); // MIN is the result if (MIN % X == 0) return MIN; // returning ans return ((MIN + X) - ((MIN + X) % X)); } // Driver Code // Number whose divisible // is to be found let X = 83; // Max K-digit divisible // is to be found let K = 5; document.write(answer(X, K)); // This code is contributed by sravan kumar </script>
Producción :
10043
Complejidad de tiempo: O (logk)
Espacio auxiliar: O(1)
Este artículo es una contribución de Rohit Thapliyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@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