 Open in App
Not now

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

• Last Updated : 20 Dec, 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 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

 ``

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
Related Articles