# Find a N-digit number such that it is not divisible by any of its digits

• Last Updated : 06 Sep, 2022

Given an integer N, the task is to find any N-digit positive number (except for zeros) such that it is not divisible by any of its digits. If it is not possible to find any such number then print -1.
Note: There can be more than one such number for the same N-digit.

Examples:

Input: N = 2
Output: 23
23 is not divisible by 2 or 3

Input: N = 3
Output: 239

Approach:
The easiest solution to this problem can be thought of with the help of digits ‘4’ and ‘5’.

1. Since, in order for a number to be divisible by 5, the number must end with 0 or 5; and in order for it to be divisible by 4, the last two digits if the number must be divisible by 4.
2. Therefore, a shortcut method can be applied to prevent both of the divisibility criteria of 4 and as well as of 5, as:
• To prevent a number from being divisible by 5, the number can contain 5 for every other digit except for last digit.

Therefore for N digit number,
(N - 1) digits must be 5 = 5555...(N-1 times)d
where d is the Nth digit
• To prevent a number from being divisible by 4, the number can contain 5 at the second last digit and 4 at the last digit.

Therefore for N digit number,
Last digit must be 4 = 5555...(N-1 times)4

Below is the implementation of the above approach:

## CPP

 // CPP program to find N digit number such// that it is not divisible by any of its digits #include using namespace std; // Function that print the answervoid 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 codeint 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 digitsclass GFG{  // Function that print the answerstatic 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 codepublic 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 answerdef 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 codeif __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 digitsusing System; class GFG{ // Function that print the answerstatic 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 codepublic static void Main(String[] args){    int n = 12;     // Function call    findTheNumber(n);}} // This code is contributed by 29AjayKumar

## Javascript



Output:

555555555554

Time complexity: O(N), where N is the required size of the number.
Auxiliary Space: O(1), as constant space is required.

My Personal Notes arrow_drop_up