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

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 3

Input: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

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` `import` `java.io.*;` `public` `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>` |

**Output:**

555555555554

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

## Please

Loginto comment...