Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Smallest N digit number divisible by all possible prime digits

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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 <bits/stdc++.h>
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

Javascript




<script>
// Javascript implementation of the above approach 
 
// Function to find the minimum number of 
// n digits divisible by all prime digits
function minNum(n)
{
    if (n < 3)
        document.write( -1);
    else
        document.write((210 * (parseInt(Math.pow(10, n - 1) /
                                   210) + 1)));
}
 
// Driver Code
var n = 5;
minNum(n);
 
// This code is contributed by rrrtnx.
</script>

Output: 

10080

 

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


My Personal Notes arrow_drop_up
Last Updated : 23 Apr, 2021
Like Article
Save Article
Similar Reads
Related Tutorials