Open In App

Count n digit numbers divisible by given number

Improve
Improve
Like Article
Like
Save
Share
Report

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 : 13
Explanation: There are nine n digit numbers that are divisible by 7. Numbers are 14, 21, 28, 35, 42, 49, …. 91, 98

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 <cmath>
#include <iostream>
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 code
int 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 number
def 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 code
n = 3
num = 7
print(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


PHP




<?php
// Simple php program to count n digit
// divisible numbers.
 
// Returns count of n digit numbers
// divisible by 'number'
function numberofterm($n, $number)
{
     
    // compute the first and last term
    $firstnum = pow(10, $n - 1);
    $lastnum = pow(10, $n);
 
    // count total number of which having
    // n digit and divisible by number
    $count = 0;
    for ($i = $firstnum; $i < $lastnum; $i++)
        if ($i % $number == 0)
            $count++;
    return $count;
}
 
    // Driver code
    $n = 3;
    $num = 7;
    echo numberofterm($n, $num);
     
// This code is contributed by mits
?>


Javascript




<script>
// JavaScript program to count n digit
// divisible numbers.
 
// Returns count of n digit numbers
    // divisible by 'number'
    function numberofterm(n, number)
    {
        // compute the first and last term
        let firstnum = Math.pow(10, n - 1);
        let lastnum = Math.pow(10, n);
       
        // count total number of which having
        // n digit and divisible by number
        let count = 0;
        for (let i = firstnum; i < lastnum; i++)
            if (i % number == 0)
                count++;
        return count;
    }
 
// Driver Code
 
        let n = 3, num = 7;
        document.write(numberofterm(n, num));
 
// This code is contributed by code_hunt.
</script>


Output: 

128

 

Time Complexity: O(10n), which is exponential and bad for bigger n’s.

Auxiliary Space: O(1)

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 <cmath>
#include <iostream>
using namespace std;
 
// find the number of term
int 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 term
def 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 code
n = 3; number = 7
print(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.


PHP




<?php
// Efficient PHP program
// to count n digit
// divisible numbers.
 
// find the number of term
function 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 Code
$n = 3;
$number = 7;
echo (numberofterm($n, $number));
 
// This code is contributed by
// Manish Shaw(manishshaw1)
?>


Javascript




<script>
    // Efficient Javascript program to count n digit divisible numbers.
     
    // find the number of term
    function numberofterm(digit, number)
    {
          
        // compute the first and
        // last term
        let firstnum = Math.pow(10, digit - 1);
                               
        let lastnum = 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);
    }
     
    let n = 3;
    let number = 7;
 
    document.write(numberofterm(n, number));
  
 // This code is contributed by divyeshrabadiya07.
</script>


Output: 

128

 

Time Complexity: O(log10n) as it is using inbuilt pow function

Auxiliary Space: O(1)



Last Updated : 11 Oct, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads