Find N digits number which is divisible by D

Given N and D. The task is to find a N digits number which is divisible by D ( 2 <= D <= 10). If it is not possible then print Impossible.

Examples:

Input : N = 2 and D = 2
Output : 20

Input : N = 1 and D = 10
Output : Impossible

Approach: There are two conditions D=10 and D not equals 10. Id D = 10 and N = 1 then only answer is not possible and in all other conditions, the answer will be possible.

1. If D is 10,
   Print 1 followed by n-1 times zero.
2. If D is not 10
   Print D followed by n-1 times zero

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to Find N digits
// number which is divisible by D
#include <bits/stdc++.h>
using namespace std;
  
// Function to return N digits
// number which is divisible by D
string findNumber(int n, int d)
{
    // to store answer
    string ans = "";
  
    if (d != 10) {
        ans += to_string(d);
        for (int i = 1; i < n; i++)
            ans += '0';
    }
    else {
        if (n == 1)
            ans += "Impossible";
        else {
            ans += '1';
            for (int i = 1; i < n; i++)
                ans += '0';
        }
    }
  
    return ans;
}
  
// Driver code
int main()
{
    int n = 12, d = 3;
  
    cout << findNumber(n, d);
  
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to Find N digits
// number which is divisible by D
  
import java.io.*;
  
class GFG {
  
  
// Function to return N digits
// number which is divisible by D
static String findNumber(int n, int d)
{
    // to store answer
    String ans = "";
  
    if (d != 10) {
        ans += Integer.toString(d);
        for (int i = 1; i < n; i++)
            ans += '0';
    }
    else {
        if (n == 1)
            ans += "Impossible";
        else {
            ans += '1';
            for (int i = 1; i < n; i++)
                ans += '0';
        }
    }
  
    return ans;
}
  
// Driver code
  
    public static void main (String[] args) {
            int n = 12, d = 3;
  
    System.out.println(findNumber(n, d));
    }
}
// This code is contributed by anuj_67..

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program to Find N digits
# number which is divisible by D
  
# Function to return N digits
# number which is divisible by D
def findNumber(n, d):
  
    # to store answer
    ans = ""
  
    if (d != 10) :
        ans += str(d)
        for i in range(1,n):
            ans += '0'
    else :
        if (n == 1):
            ans += "Impossible"
        else :
            ans += '1'
            for i in range(1,n):
                ans += '0'
  
    return ans
  
# Driver code
if __name__ == "__main__":
    n = 12
    d = 3
  
    print(findNumber(n, d))
      
# This code is contributed by
# ChitraNayal

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to Find N digits
// number which is divisible by D
using System;
  
class GFG {
  
// Function to return N digits
// number which is divisible by D
static string findNumber(int n, int d)
{
      
    // to store answer
    string ans = "";
  
    if (d != 10) {
          
        ans += d.ToString();
          
        for (int i = 1; i < n; i++)
            ans += '0';
    }
      
    else {
          
        if (n == 1)
            ans += "Impossible";
              
        else {
              
            ans += '1';
            for (int i = 1; i < n; i++)
                ans += '0';
        }
    }
  
    return ans;
}
  
// Driver code
public static void Main () 
{
      
    int n = 12, d = 3;
    Console.WriteLine(findNumber(n, d));
}
}
  
// This code is contributed by Subhadeep

chevron_right


PHP

Output:

300000000000


My Personal Notes arrow_drop_up