Open In App

Smallest N digit number divisible by all possible prime digits

Improve
Improve
Like Article
Like
Save
Share
Report

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) 
 



Last Updated : 23 Apr, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads