Related Articles
Find a N-digit number such that it is not divisible by any of its digits
• Last Updated : 03 Apr, 2020

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

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

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

My Personal Notes arrow_drop_up