Suma y Producto de dígitos en un número que dividen el número

Dado un entero positivo N . La tarea es encontrar la suma y el producto de los dígitos del número que divide uniformemente al número n.

Ejemplos:  

Input: N = 12
Output: Sum = 3, product = 2
1 and 2 divide 12. So, their sum is 3 and product is 2.

Input: N = 1012
Output: Sum = 4, product = 2
1, 1 and 2 divide 1012.

Enfoque: La idea es encontrar cada dígito del número n por módulo 10 y luego comprobar si divide n o no. En consecuencia, agréguelo a la suma y multiplíquelo con el producto. Tenga en cuenta que el dígito puede ser 0, así que tenga cuidado con ese caso.

A continuación se muestra la implementación del enfoque anterior:  

C++

// C++ implementation of the above approach
#include <bits/stdc++.h>
using namespace std;
 
// Print the sum and product of digits
//  that divides the number.
void countDigit(int n)
{
    int temp = n, sum = 0, product = 1;
    while (temp != 0) {
 
        // Fetching each digit of the number
        int d = temp % 10;
        temp /= 10;
 
        // Checking if digit is greater than 0
        // and can divides n.
        if (d > 0 && n % d == 0) {
            sum += d;
            product *= d;
        }
    }
 
    cout << "Sum = " << sum;
    cout << "\nProduct = " << product;
}
 
// Driver code
int main()
{
    int n = 1012;
 
    countDigit(n);
    return 0;
}

Java

// Java implementation of the
// above approach
import java.lang.*;
import java.util.*;
 
class GFG
{
// Print the sum and product of
// digits that divides the number.
static void countDigit(int n)
{
    int temp = n, sum = 0, product = 1;
    while (temp != 0)
    {
 
        // Fetching each digit of
        // the number
        int d = temp % 10;
        temp /= 10;
 
        // Checking if digit is greater
        // than 0 and can divides n.
        if (d > 0 && n % d == 0)
        {
            sum += d;
            product *= d;
        }
    }
 
    System.out.print("Sum = " + sum);
    System.out.print("\nProduct = " + product);
}
 
// Driver code
public static void main(String args[])
{
    int n = 1012;
 
    countDigit(n);
}
}
 
// This code is contributed
// by Akanksha Rai(Abby_akku)

Python3

# Python3 implementation of the above approach
 
# Print the sum and product of digits
# that divides the number.
def countDigit(n):
    temp = n
    sum = 0
    product = 1
    while(temp != 0):
         
        # Fetching each digit of the number
        d = temp % 10
        temp //= 10
         
        # Checking if digit is greater
        # than 0 and can divides n.
        if(d > 0 and n % d == 0):
            sum += d
            product *= d
             
    print("Sum =", sum)
    print("Product =", product)
 
# Driver code
if __name__=='__main__':
     
    n = 1012
    countDigit(n)
 
# This code is contributed
# by Kirti_Mangal
    

C#

// C# implementation of the
// above approach
using System;
 
class GFG
{
// Print the sum and product of
// digits that divides the number.
static void countDigit(int n)
{
    int temp = n, sum = 0, product = 1;
    while (temp != 0)
    {
 
        // Fetching each digit of
        // the number
        int d = temp % 10;
        temp /= 10;
 
        // Checking if digit is greater
        // than 0 and can divides n.
        if (d > 0 && n % d == 0)
        {
            sum += d;
            product *= d;
        }
    }
 
    Console.Write("Sum = " + sum);
    Console.Write("\nProduct = " + product);
}
 
// Driver code
public static void Main()
{
    int n = 1012;
 
    countDigit(n);
}
}
 
// This code is contributed
// by Akanksha Rai(Abby_akku)

PHP

<?php
// PHP implementation of the above approach
 
// Print the sum and product of digits
// that divides the number.
function countDigit($n)
{
    $temp = $n;
    $sum = 0;
    $product = 1;
    while ($temp != 0) {
 
        // Fetching each digit of the number
        $d = $temp % 10;
        $temp =(int)($temp/10);
 
        // Checking if digit is greater than 0
        // and can divides n.
        if ($d > 0 && $n % $d == 0) {
            $sum += $d;
            $product *= $d;
        }
    }
 
    echo "Sum = ".$sum;
    echo "\nProduct = ".$product;
}
 
// Driver code
 
    $n = 1012;
 
    countDigit($n);
     
// This code is contributed by mits
?>

Javascript

<script>
// java script  implementation of the above approach
 
// Print the sum and product of digits
// that divides the number.
function countDigit(n)
{
    let temp = n;
    let sum = 0;
    let product = 1;
    while (temp != 0) {
 
        // Fetching each digit of the number
        let d = temp % 10;
        temp =parseInt(temp/10);
 
        // Checking if digit is greater than 0
        // and can divides n.
        if (d > 0 && n % d == 0) {
            sum += d;
            product *= d;
        }
    }
 
    document.write( "Sum = "+sum);
    document.write( "<br>Product = "+product);
}
 
// Driver code
 
    let n = 1012;
 
    countDigit(n);
     
// This code is contributed by Gottumukkala Bobby
</script>
Producción: 

Sum = 4
Product = 2

 

Complejidad de tiempo: O(log 10 n), Espacio auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan 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 *