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 any N-digit positive number (except for zeros) such that it is not divisible by any of its digits. If it is not possible to find any such number then print -1.
Note: There can be more than one such number for the same N-digit.
Examples:
Input: N = 2
Output: 23
23 is not divisible by 2 or 3Input: N = 3
Output: 239
Approach:
The easiest solution to this problem can be thought of with the help of digits ‘4’ and ‘5’.
- Since, in order for a number to be divisible by 5, the number must end with 0 or 5; and in order for it to be divisible by 4, the last two digits if the number must be divisible by 4.
- Therefore, a shortcut method can be applied to prevent both of the divisibility criteria of 4 and as well as of 5, as:
- To prevent a number from being divisible by 5, the number can contain 5 for every other digit except for last digit.
Therefore for N digit number, (N - 1) digits must be 5 = 5555...(N-1 times)d where d is the Nth digit
- To prevent a number from being divisible by 4, the number can contain 5 at the second last digit and 4 at the last digit.
Therefore for N digit number, Last digit must be 4 = 5555...(N-1 times)4
Below is the implementation of the above approach:
CPP
// CPP program to find N digit number such // that it is not divisible by any of its digits #include <bits/stdc++.h> using namespace std; // Function that print the answer void findTheNumber( int n) { // if n == 1 then it is // not possible if (n == 1) { cout << "Impossible" << endl; return ; } // loop to n-1 times for ( int i = 0; i < n - 1; i++) { cout << "5" ; } // print 4 as last digit of // the number cout << "4" ; } // Driver code int main() { int n = 12; // Function call findTheNumber(n); return 0; } |
Java
// JAVA program to find N digit number such // that it is not divisible by any of its digits import java.io.*; public class GFG{ // Function that print the answer static void findTheNumber( int n) { // if n == 1 then it is // not possible if (n == 1 ) { System.out.print( "Impossible" + "\n" ); return ; } // loop to n-1 times for ( int i = 0 ; i < n - 1 ; i++) { System.out.print( "5" ); } // print 4 as last digit of // the number System.out.print( "4" ); } // Driver code public static void main(String[] args) { int n = 12 ; // Function call findTheNumber(n); } } // This code is contributed by 29AjayKumar |
Python3
# Python3 program to find N digit number such # that it is not divisible by any of its digits # Function that print answer def findTheNumber(n): # if n == 1 then it is # not possible if (n = = 1 ): print ( "Impossible" ) return # loop to n-1 times for i in range (n - 1 ): print ( "5" ,end = "") # print as last digit of # the number print ( "4" ) # Driver code if __name__ = = '__main__' : n = 12 #Function call findTheNumber(n) # This code is contributed by mohit kumar 29 |
C#
// C# program to find N digit number such // that it is not divisible by any of its digits using System; class GFG{ // Function that print the answer static void findTheNumber( int n) { // if n == 1 then it is // not possible if (n == 1) { Console.Write( "Impossible" + "\n" ); return ; } // loop to n-1 times for ( int i = 0; i < n - 1; i++) { Console.Write( "5" ); } // print 4 as last digit of // the number Console.Write( "4" ); } // Driver code public static void Main(String[] args) { int n = 12; // Function call findTheNumber(n); } } // This code is contributed by 29AjayKumar |
Javascript
<script> // Javascript program to find N digit number such // that it is not divisible by any of its digits // Function that print the answer function findTheNumber(n) { // if n == 1 then it is // not possible if (n == 1) { document.write( "Impossible" ); return ; } // loop to n-1 times for ( var i = 0; i < n - 1; i++) { document.write( "5" ); } // print 4 as last digit of // the number document.write( "4" ); } // Driver code var n = 12; // Function call findTheNumber(n); // This code is contributed by rutvik_56. </script> |
Output:
555555555554
Time complexity: O(N), where N is the required size of the number.
Auxiliary Space: O(1), as constant space is required.
Please Login to comment...