Related Articles
Smallest N digit number divisible by all possible prime digits
• Last Updated : 21 Aug, 2020

Given an integer N, the task is to find the smallest N digit number divisible by all possible prime digits, i.e, 2, 3, 5 and 7. Print -1 if no such number is possible.
Examples:

Input: N = 5
Output: 10080
Explanation: 10080 is the smallest five-digit number that is divisible by 2, 3, 5 and 7.

Input: N = 3
Output: 210

Approach:
Follow the steps given below to solve the problem:

• Since all the four numbers 2, 3, 5, 7 are prime it means N will also be divisible by their product 2 × 3 × 5 × 7 = 210
• For N < 3, no such number exists. So, print -1.
• For N = 3, the answer will be 210.
• For N > 3, the following computation needs to be done:
• Find Remainder R = 10N-1 % N.
• Add 210 – R to 10N-1.

Below is the implementation of the above approach:

## C++

 `// C++ implementation of the above approach  ``#include ``using` `namespace` `std;`` ` `// Function to find the minimum number of  ``// n digits divisible by all prime digits ``void` `minNum(``int` `n)``{``    ``if` `(n < 3)``        ``cout << -1;``    ``else``        ``cout << (210 * ((``int``)(``pow``(10, n - 1) /``                                   ``210) + 1));``}`` ` `// Driver Code``int` `main()``{``    ``int` `n = 5;``    ``minNum(n);``    ``return` `0;``}`` ` `// This code is contributed by amal kumar choubey`

## Java

 `// Java implementation of the above approach``class` `GFG{``     ` `// Function to find the minimum number of ``// n digits divisible by all prime digits``static` `void` `minNum(``int` `n)``{``    ``if``(n < ``3``)``        ``System.out.println(-``1``);``    ``else``        ``System.out.println(``210` `* (``            ``(``int``)(Math.pow(``10``, n - ``1``) / ``210``) + ``1``));``}`` ` `// Driver code``public` `static` `void` `main(String[] args) ``{``    ``int` `n = ``5``;``    ``minNum(n);``}``}`` ` `// This code is contributed by Stuti Pathak`

## Python3

 `# Python3 implementation of the above approach ``from` `math ``import` `*``  ` `# Function to find the minimum number of ``# n digits divisible by all prime digits.``def` `minNum(n): ``    ``if` `n < ``3``:``        ``print``(``-``1``)``    ``else``:``        ``print``(``210` `*` `(``10``*``*``(n``-``1``) ``/``/` `210` `+` `1``))``  ` `# Driver Code ``n ``=` `5``minNum(n)`

## C#

 `// C# implementation of the above approach``using` `System;`` ` `class` `GFG{`` ` `// Function to find the minimum number of``// n digits divisible by all prime digits``static` `void` `minNum(``int` `n)``{``    ``if` `(n < 3)``        ``Console.WriteLine(-1);``    ``else``        ``Console.WriteLine(210 * ``           ``((``int``)(Math.Pow(10, n - 1) / 210) + 1));``}`` ` `// Driver code``public` `static` `void` `Main(String[] args)``{``    ``int` `n = 5;``    ``minNum(n);``}``}`` ` `// This code is contributed by amal kumar choubey`
Output:
```10080
```

Time complexity: O(logN)
Auxiliary Space: O(1)

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.

My Personal Notes arrow_drop_up