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 mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**