Wednesday, July 3, 2024
HomeData ModellingData Structure & AlgorithmFind a N-digit number such that it is not divisible by any...

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

Given an integer N, the task is to find an N-digit number such that it is not divisible by any of its digits.
Note: There can be multiple answers for each value of N. 

Examples:  

Input: N = 4 
Output: 6789 
Explanation: 
As the number 6789 is not divisible by any of its digits, it is 6, 7, 8 and 9 and it is also a four-digit number. Hence, it can be the desired number. 

Input: N = 2 
Output: 57 
Explanation: 
As the number 57 is not divisible by any of its digits, it is 5 and 7 and it is also a 2-digit number. Hence, it can be the desired number.   

Approach: The key observation in the problem is that 2 and 3 are those numbers that don’t divide each other. Also, the numbers “23, 233, 2333, …” are not divisible by neither 2 nor 3. Hence, for any N-digit number, the most significant digit will be 2 and the rest of the digits will be 3 to get the desired number.

Algorithm:  

  • Check if the value of the N is equal to 1, then there is no such number is possible, hence return -1.
  • Otherwise, initialize a variable num, to store the number by 2.
  • Run a loop from 1 to N and then, for each iteration, multiply the number by 10 and add 3 to it. 
num = (num * 10) + 3 

Below is the implementation of the above approach: 

C++




// C++ implementation to find a
// N-digit number such that the number
// it is not divisible by its digits
 
#include <bits/stdc++.h>
using namespace std;
 
typedef long long int ll;
 
// Function to find the number
// such that it is not divisible
// by its digits
void solve(ll n)
{
    // Base Cases
    if (n == 1)
    {
        cout << -1;
    }
    else {
         
        // First Digit of the
        // number will be 2
        int num = 2;
         
        // Next digits of the numbers
        for (ll i = 0; i < n - 1; i++) {
            num = (num * 10) + 3;
        }
        cout << num;
    }
}
 
// Driver Code
int main()
{
    ll n = 4;
     
    // Function Call
    solve(n);
}


Java




// Java implementation to find a
// N-digit number such that the number
// it is not divisible by its digits
import java.io.*;
public class GFG {
 
    long ll;
     
    // Function to find the number
    // such that it is not divisible
    // by its digits
    static void solve(long n)
    {
        // Base Cases
        if (n == 1)
        {
            System.out.println(-1);
        }
        else {
             
            // First Digit of the
            // number will be 2
            int num = 2;
             
            // Next digits of the numbers
            for (long i = 0; i < n - 1; i++) {
                num = (num * 10) + 3;
            }
            System.out.println(num);
        }
    }
     
    // Driver Code
    public static void main (String[] args)
    {
        long n = 4;
         
            // Function Call
            solve(n);
    }
}
 
// This code is contributed by AnkitRai01


Python3




# Python3 implementation to find a
# N-digit number such that the number
# it is not divisible by its digits
 
# Function to find the number
# such that it is not divisible
# by its digits
def solve(n) :
 
    # Base Cases
    if (n == 1) :
 
        print(-1);
     
    else :
         
        # First Digit of the
        # number will be 2
        num = 2;
         
        # Next digits of the numbers
        for i in range(n - 1) :
            num = (num * 10) + 3;
          
        print(num);
 
# Driver Code
if __name__ == "__main__" :
 
    n = 4;
     
    # Function Call
    solve(n);
     
# This code is contributed by AnkitRai01


C#




// C# implementation to find a
// N-digit number such that the number
// it is not divisible by its digits
using System;
 
class GFG {
  
    long ll;
      
    // Function to find the number
    // such that it is not divisible
    // by its digits
    static void solve(long n)
    {
        // Base Cases
        if (n == 1)
        {
            Console.WriteLine(-1);
        }
        else {
              
            // First Digit of the
            // number will be 2
            int num = 2;
              
            // Next digits of the numbers
            for (long i = 0; i < n - 1; i++) {
                num = (num * 10) + 3;
            }
            Console.WriteLine(num);
        }
    }
      
    // Driver Code
    public static void Main(String[] args)
    {
        long n = 4;
          
            // Function Call
            solve(n);
    }
}
 
// This code is contributed by sapnasingh4991


Javascript




<script>
//Javascript  implementation to find a
// N-digit number such that the number
// it is not divisible by its digits
 
 
// Function to find the number
// such that it is not divisible
// by its digits
function solve(n)
{
    // Base Cases
    if (n == 1)
    {
        document.write(  -1);
    }
    else {
         
        // First Digit of the
        // number will be 2
        var num = 2;
         
        // Next digits of the numbers
        for (var i = 0; i < n - 1; i++) {
            num = (num * 10) + 3;
        }
        document.write(  num);
    }
}
 
 
// Given N
var n = 4;
// Function Call
solve(n);
 
// This code is contributed by SoumikMondal
</script>


Output: 

2333

 

Performance Analysis: 

  • Time Complexity: O(N).
  • 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!

Nango Kalahttps://www.kala.co.za
Experienced Support Engineer with a demonstrated history of working in the information technology and services industry. Skilled in Microsoft Excel, Customer Service, Microsoft Word, Technical Support, and Microsoft Office. Strong information technology professional with a Microsoft Certificate Solutions Expert (Privet Cloud) focused in Information Technology from Broadband Collage Of Technology.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments