Saturday, January 11, 2025
Google search engine
HomeData Modelling & AISmallest N digit number divisible by all possible prime digits

Smallest N digit number divisible by all possible prime digits

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) 
 

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments