Given a positive integer **N**. The task is to find sum and product of digits of the number which evenly divides the number n.**Examples:**

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

**Approach:** The idea is to find the each digit of the number n by modulus 10 and then check whether it divides n or not. Accordingly, add it to the sum and multiply it with the product. Notice that the digit can be 0, so take care of that case.

Below is the implementation of the above approach:

## 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>` |

**Output:**

Sum = 4 Product = 2

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**