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