Skip to content
Related Articles

Related Articles

Sum of n digit numbers divisible by a given number
  • Difficulty Level : Medium
  • Last Updated : 24 May, 2018

Given n and a number, the task is to find the sum of n digit numbers that are divisible by given number.

Examples:

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

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

Input : n = 3, number = 4
Output : 124200

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

C++




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


Java




// Simple Java program to sum of n digit
// divisible numbers.
import java.io.*;
  
class GFG {
      
    // Returns sum of n digit numbers
    // divisible by 'number'
    static int totalSumDivisibleByNum(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);
          
        // sum of number which having
        // n digit and divisible by number
        int sum = 0;
        for (int i = firstnum; i < lastnum; i++)
            if (i % number == 0)
                sum += i;
        return sum;
    }
  
    // Driver code
    public static void main (String[] args) 
    {
        int n = 3, num = 7;
        System.out.println(totalSumDivisibleByNum(n, num));
    }
}
  
// This code is contributed by Ajit.


Python3




# Simple Python 3 program to sum  
# of n digit divisible numbers.
  
# Returns sum of n digit numbers
# divisible by 'number'
def totalSumDivisibleByNum(n, number):
  
    # compute the first and last term
    firstnum = pow(10, n - 1)
    lastnum = pow(10, n)
      
    # sum of number which having
    # n digit and divisible by number
    sum = 0
    for i in range(firstnum, lastnum):
        if (i % number == 0):
            sum += i
    return sum
  
  
# Driver code
n = 3; num = 7
print(totalSumDivisibleByNum(n, num))
  
# This code is contributed by Smitha Dinesh Semwal


C#




// Simple C# program to sum of n digit
// divisible numbers.
using System;
  
class GFG {
      
    // Returns sum of n digit numbers
    // divisible by 'number'
    static int totalSumDivisibleByNum(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);
          
        // sum of number which having
        // n digit and divisible by number
        int sum = 0;
          
        for (int i = firstnum; i < lastnum; i++)
            if (i % number == 0)
                sum += i;
                  
        return sum;
    }
  
    // Driver code
    public static void Main () 
    {
        int n = 3, num = 7;
          
        Console.WriteLine(totalSumDivisibleByNum(n, num));
    }
}
  
// This code is contributed by vt_m.


PHP




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


Output:



70336

Efficient Method :
First, find the count of n digit numbers divisible by a given number. Then apply formula for sum of AP.

    count/2  * (first-term + last-term)

C++




// Efficient CPP program to find the sum
// divisible numbers.
#include <cmath>
#include <iostream>
using namespace std;
  
// find the Sum of having n digit and
// divisible by the number
int totalSumDivisibleByNum(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);
  
    // total divisible number
    int count = ((lastnum - firstnum) /
                               number + 1);
  
    // return the total sum
    return ((lastnum + firstnum) * count) / 2;
}
  
int main()
{
    int n = 3, number = 7;
    cout << totalSumDivisibleByNum(n, number);
    return 0;
}


Java




// Efficient Java program to find the sum
// divisible numbers.
import java.io.*;
  
class GFG {
      
    // find the Sum of having n digit and
    // divisible by the number
    static int totalSumDivisibleByNum(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);
      
        // total divisible number
        int count = ((lastnum - firstnum) /
                                number + 1);
      
        // return the total sum
        return ((lastnum + firstnum) * count) / 2;
    }
  
    // Driver code
    public static void main (String[] args) 
    {
        int n = 3, number = 7;
        System.out.println(totalSumDivisibleByNum(n, number));
    }
}
  
// This code is contributed by Ajit.


Python3




# Efficient Python3 program to  
# find the sum divisible numbers.
  
# find the Sum of having n digit 
# and divisible by the number
def totalSumDivisibleByNum(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)
  
    # total divisible number
    count = ((lastnum - firstnum) / number + 1)
  
    # return the total sum
    return int(((lastnum + firstnum) * count) / 2)
  
  
# Driver code
digit = 3; num = 7
print(totalSumDivisibleByNum(digit, num))
  
# This code is contributed by Smitha Dinesh Semwal


C#




// Efficient Java program to find the sum
// divisible numbers.
using System;
  
class GFG {
      
    // find the Sum of having n digit and
    // divisible by the number
    static int totalSumDivisibleByNum(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);
      
        // total divisible number
        int count = ((lastnum - firstnum) /
                                number + 1);
      
        // return the total sum
        return ((lastnum + firstnum) * count) / 2;
    }
  
    // Driver code
    public static void Main () 
    {
        int n = 3, number = 7;
          
        Console.WriteLine(totalSumDivisibleByNum(n, number));
    }
}
  
// This code is contributed by vt_m.


PHP




<?php
// Efficient PHP program to find 
// the sum divisible numbers.
  
// find the Sum of having n digit and
// divisible by the number
function totalSumDivisibleByNum($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);
  
    // total divisible number
    $count = (($lastnum - $firstnum) /
                          $number + 1);
  
    // return the total sum
    return (($lastnum + $firstnum) * 
                         $count) / 2;
}
  
    // Driver Code
    $n = 3; $number = 7;
    echo totalSumDivisibleByNum($n, $number);
  
// This code is contributed by anuj_67.
?>


Output:

70336

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :