Encuentre un número de N dígitos tal que no sea divisible por ninguno de sus dígitos – Part 1

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’. 
 

  1. 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.
  2. 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. 
       
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

Deja una respuesta

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