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 = 2Output:23 23 is not divisible by 2 or 3Input:N = 3Output:239

**Approach:**

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

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

- To prevent a number from being divisible by 5, the number can contain 5 for every other digit except for last digit.

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 <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 prthe 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 ` |

**Output:**

555555555554

**Time complexity:** **0(N)**

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.