Dado un número entero N , la tarea es encontrar cualquier número positivo de N dígitos (excepto los ceros) tal que no sea divisible por ninguno de sus dígitos. Si no es posible encontrar dicho número, imprima -1 .
Nota: Puede haber más de uno de esos números para el mismo dígito N.
Ejemplos:
Input: N = 2 Output: 23 23 is not divisible by 2 or 3 Input: N = 3 Output: 239
Enfoque:
La solución más fácil a este problema se puede pensar con la ayuda de los dígitos ‘4’ y ‘5’.
- Ya que, para que un número sea divisible por 5, el número debe terminar en 0 o 5; y para que sea divisible por 4, los dos últimos dígitos del número deben ser divisibles por 4.
- Por lo tanto, se puede aplicar un método abreviado para evitar tanto el criterio de divisibilidad de 4 como el de 5, como:
- Para evitar que un número sea divisible por 5, el número puede contener 5 para cualquier otro dígito excepto para el último dígito.
- Para evitar que un número sea divisible por 5, el número puede contener 5 para cualquier otro dígito excepto para el último dígito.
Therefore for N digit number, (N - 1) digits must be 5 = 5555...(N-1 times)d where d is the Nth digit
- Para evitar que un número sea divisible por 4, el número puede contener 5 en el penúltimo dígito y 4 en el último dígito.
Therefore for N digit number, Last digit must be 4 = 5555...(N-1 times)4
A continuación se muestra la implementación del enfoque anterior:
CPP
// CPP program to find N digit number such // that it is not divisible by any of its digits #include <bits/stdc++.h> using namespace std; // Function that print the answer void findTheNumber(int n) { // if n == 1 then it is // not possible if (n == 1) { cout << "Impossible" << endl; return; } // loop to n-1 times for (int i = 0; i < n - 1; i++) { cout << "5"; } // print 4 as last digit of // the number cout << "4"; } // Driver code int main() { int n = 12; // Function call findTheNumber(n); return 0; }
Java
// JAVA program to find N digit number such // that it is not divisible by any of its digits class GFG{ // Function that print the answer static void findTheNumber(int n) { // if n == 1 then it is // not possible if (n == 1) { System.out.print("Impossible" +"\n"); return; } // loop to n-1 times for (int i = 0; i < n - 1; i++) { System.out.print("5"); } // print 4 as last digit of // the number System.out.print("4"); } // Driver code public static void main(String[] args) { int n = 12; // Function call findTheNumber(n); } } // This code is contributed by 29AjayKumar
Python3
# Python3 program to find N digit number such # that it is not divisible by any of its digits # Function that print answer def findTheNumber(n): # if n == 1 then it is # not possible if (n == 1): print("Impossible") return # loop to n-1 times for i in range(n-1): print("5",end="") # print as last digit of # the number print("4") # Driver code if __name__ == '__main__': n = 12 #Function call findTheNumber(n) # This code is contributed by mohit kumar 29
C#
// C# program to find N digit number such // that it is not divisible by any of its digits using System; class GFG{ // Function that print the answer static void findTheNumber(int n) { // if n == 1 then it is // not possible if (n == 1) { Console.Write("Impossible" +"\n"); return; } // loop to n-1 times for (int i = 0; i < n - 1; i++) { Console.Write("5"); } // print 4 as last digit of // the number Console.Write("4"); } // Driver code public static void Main(String[] args) { int n = 12; // Function call findTheNumber(n); } } // This code is contributed by 29AjayKumar
Javascript
<script> // Javascript program to find N digit number such // that it is not divisible by any of its digits // Function that print the answer function findTheNumber(n) { // if n == 1 then it is // not possible if (n == 1) { document.write( "Impossible" ); return; } // loop to n-1 times for (var i = 0; i < n - 1; i++) { document.write( "5"); } // print 4 as last digit of // the number document.write( "4"); } // Driver code var n = 12; // Function call findTheNumber(n); // This code is contributed by rutvik_56. </script>
Producción:
555555555554
Complejidad de tiempo: 0(N)
Publicación traducida automáticamente
Artículo escrito por nitinkr8991 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA