Suma de números de n dígitos divisibles por un número dado

Dado n y un número, la tarea es encontrar la suma de números de n dígitos que son divisibles por el número dado.

Ejemplos: 

Input : n = 2, number = 7
Output : 728
There are thirteen n digit numbers that are divisible by 7.
 Numbers are  : 14+ 21 + 28 + 35 + 42 + 49 + 56 + 63 +70 + 77 + 84 + 91 + 98.

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

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

Enfoque nativo: atravesar todos los números de n dígitos. Para cada número, verifique la divisibilidad y haga la suma.  

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
?>

Javascript

<script>
 
// JavaScript 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
    let firstnum = Math.pow(10, n - 1);
    let lastnum = Math.pow(10, n);
       
    // sum of number which having
    // n digit and divisible by number
    let sum = 0;
    for(let i = firstnum; i < lastnum; i++)
        if (i % number == 0)
            sum += i;
             
    return sum;
}
 
// Driver Code
let n = 3, num = 7;
 
document.write(totalSumDivisibleByNum(n, num));
 
// This code is contributed by chinmoy1997pal
             
</script>
Producción: 

70336

 

Complejidad del tiempo: O(10 n )

Espacio Auxiliar: O(1)

Método eficiente: 
Primero, encuentre el conteo de números de n dígitos divisibles por un número dado . Luego aplique la fórmula para la suma de 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.
?>

Javascript

<script>
 
// Efficient Javascript 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
    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);
  
    // Total divisible number
    let count = ((lastnum - firstnum) /
                   number + 1);
  
    // Return the total sum
    return ((lastnum + firstnum) * count) / 2;
}
 
// Driver Code
let n = 3, number = 7;
      
document.write(totalSumDivisibleByNum(n, number));
 
// This code is contributed by divyesh072019
 
</script>
Producción: 

70336

 

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por DevanshuAgarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *