Count n digit numbers divisible by given number

• Difficulty Level : Easy
• Last Updated : 26 May, 2021

Given number of digit n and a number, the task is to count all the numbers which are divisible by that number and having n digit.
Examples :

Input : n = 2, number = 7
Output : 9
There are nine n digit numbers that
are divisible by 7. Numbers are 14,
21, 28, 35, 42, 49, .... 70.

Input : n = 3, number = 7
Output : 128

Input : n = 4, number = 4
Output : 2250

Native Approach: Traverse through all n digit numbers. For every number check for divisibility,

C++

 // Simple CPP program to count n digit// divisible numbers.#include #include using namespace std; // Returns count of n digit numbers// divisible by 'number'int numberofterm(int n, int number){    // compute the first and last term    int firstnum = pow(10, n - 1);    int lastnum = pow(10, n);     // count total number of which having    // n digit and divisible by number    int count = 0;    for (int i = firstnum; i < lastnum; i++)        if (i % number == 0)            count++;    return count;} // Driver codeint main(){    int n = 3, num = 7;    cout << numberofterm(n, num) << "\n";    return 0;}

Java

 // Simple Java program to count n digit// divisible numbers.import java.io.*; class GFG {         // Returns count of n digit numbers    // divisible by 'number'    static int numberofterm(int n, int number)    {        // compute the first and last term        int firstnum = (int)Math.pow(10, n - 1);        int lastnum = (int)Math.pow(10, n);             // count total number of which having        // n digit and divisible by number        int count = 0;        for (int i = firstnum; i < lastnum; i++)            if (i % number == 0)                count++;        return count;    }         // Driver code    public static void main (String[] args)    {        int n = 3, num = 7;        System.out.println(numberofterm(n, num));    }} // This code is contributed by Ajit.

Python3

 # Simple Python 3 program to count n digit# divisible numbers import math # Returns count of n digit# numbers divisible by numberdef numberofterm(n, number):     # compute the first and last term    firstnum = math.pow(10, n - 1)    lastnum = math.pow(10, n)     # count total number of which having    # n digit and divisible by number    count = 0    for i in range(int(firstnum), int(lastnum)):        if (i % number == 0):            count += 1    return count  # Driver coden = 3num = 7print(numberofterm(n, num)) # This article is contributed# by Smitha Dinesh Semwal

C#

 // Simple C# program to count n digit// divisible numbers.using System; class GFG{         // Returns count of n digit numbers    // divisible by 'number'    static int numberofterm(int n, int number)    {        // compute the first and last term        int firstnum = (int)Math.Pow(10, n - 1);        int lastnum = (int)Math.Pow(10, n);             // count total number of which having        // n digit and divisible by number        int count = 0;        for (int i = firstnum; i < lastnum; i++)            if (i % number == 0)                count++;        return count;    }         // Driver code    public static void Main ()    {        int n = 3, num = 7;        Console.Write(numberofterm(n, num));    }} // This code is contributed by nitin mittal



Javascript


Output:
128

Efficient Approach : Find the first and last terms divisible, then apply the below formula

Count of divisible = (lastnumber – firstnumber)/number + 1

C++

 // Efficient CPP program to count n digit// divisible numbers.#include #include using namespace std; // find the number of termint numberofterm(int digit, int number){    // compute the first and last term    int firstnum = pow(10, digit - 1);    int lastnum = pow(10, digit);     // first number which is divisible by given number    firstnum = (firstnum - firstnum % number) + number;     // last number which is divisible by given number    lastnum = (lastnum - lastnum % number);     // Apply the formula here    return ((lastnum - firstnum) / number + 1);} int main(){    int n = 3;    int number = 7;    cout << numberofterm(n, number) << "\n";    return 0;}

Java

 // Efficient Java program to count n digit// divisible numbers.import java.io.*; class GFG {         // find the number of term    static int numberofterm(int digit, int number)    {        // compute the first and last term        int firstnum = (int)Math.pow(10, digit - 1);        int lastnum = (int)Math.pow(10, digit);             // first number which is divisible by given number        firstnum = (firstnum - firstnum % number) + number;             // last number which is divisible by given number        lastnum = (lastnum - lastnum % number);             // Apply the formula here        return ((lastnum - firstnum) / number + 1);    }     // Driver code    public static void main (String[] args)    {        int n = 3;        int number = 7;        System.out.println(numberofterm(n, number));    }} // This code is contributed by Ajit.

Python3

 # Efficient Python program to # count n digit divisible numbers. # Find the number of termdef numberofterm(digit, number):         # compute the first and last term    firstnum = pow(10, digit - 1)    lastnum = pow(10, digit)     # First number which is divisible by given number    firstnum = (firstnum - firstnum % number) + number     # last number which is divisible by given number    lastnum = (lastnum - lastnum % number)     # Apply the formula here    return ((lastnum - firstnum) // number + 1); # Driver coden = 3; number = 7print(numberofterm(n, number)) # This code is contributed by Ajit.

C#

 // Efficient C# program to count n digit// divisible numbers.using System; class GFG {         // find the number of term    static int numberofterm(int digit,                            int number)    {                 // compute the first and        // last term        int firstnum = (int)Math.Pow(10,                             digit - 1);                                      int lastnum = (int)Math.Pow(10,                                digit);             // first number which is divisible        // by given number        firstnum = (firstnum - firstnum                      % number) + number;             // last number which is divisible        // by given number        lastnum = (lastnum - lastnum                              % number);             // Apply the formula here        return ((lastnum - firstnum)                          / number + 1);    }     // Driver code    public static void Main ()    {        int n = 3;        int number = 7;                 Console.WriteLine(             numberofterm(n, number));    }} // This code is contributed by anuj_67.



Javascript


Output:
128

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up