# Program to check if a number is divisible by sum of its digits

Given an integer N, the task is to check whether the number is divisible by the sum of its digits or not. If divisible, then print “YES” else print “NO”.

Examples:

```Input: N = 12
Output: YES
Explanation:
As sum of digits of 12 = 1 + 2 = 3
and 12 is divisible by 3
So the output is YES

Input: N = 123
Output: NO
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: The idea to solve the problem is to extract the digits of the number and add them. Then check if the number is divisible by the sum of its digit. If it is divisible then print YES otherwise print NO.

Below is the implementation of above approach:

Implementation:

## C++

 `// CPP implementation of above approach ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// Function to check ` `// if the given number is divisible ` `// by sum of its digits ` `string isDivisible(``long` `long` `int` `n) ` `{ ` `    ``long` `long` `int` `temp = n; ` ` `  `    ``// Find sum of digits ` `    ``int` `sum = 0; ` `    ``while` `(n) { ` `        ``int` `k = n % 10; ` `        ``sum += k; ` `        ``n /= 10; ` `    ``} ` ` `  `    ``// check if sum of digits divides n ` `    ``if` `(temp % sum == 0) ` `        ``return` `"YES"``; ` ` `  `    ``return` `"NO"``; ` `} ` ` `  `// Driver Code ` `int` `main() ` `{ ` `    ``long` `long` `int` `n = 123; ` ` `  `    ``cout << isDivisible(n); ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java implementation of above approach  ` `class` `GFG ` `{ ` ` `  `    ``// Function to check if the  ` `    ``// given number is divisible  ` `    ``// by sum of its digits  ` `    ``static` `String isDivisible(``long` `n)  ` `    ``{  ` `        ``long` `temp = n;  ` `     `  `        ``// Find sum of digits  ` `        ``int` `sum = ``0``;  ` `        ``while` `(n != ``0``)  ` `        ``{  ` `            ``int` `k = (``int``) n % ``10``;  ` `            ``sum += k;  ` `            ``n /= ``10``;  ` `        ``}  ` `     `  `        ``// check if sum of digits divides n  ` `        ``if` `(temp % sum == ``0``)  ` `            ``return` `"YES"``;  ` `     `  `        ``return` `"NO"``;  ` `    ``}  ` `     `  `    ``// Driver Code  ` `    ``public` `static` `void` `main(String []args) ` `    ``{  ` `        ``long` `n = ``123``;  ` `        ``System.out.println(isDivisible(n));  ` `    ``}  ` `} ` ` `  `// This code is contributed by Ryuga `

## Python3

 `# Python 3 implementation of above approach ` ` `  `# Function to check if the given number  ` `# is divisible by sum of its digits ` `def` `isDivisible(n): ` ` `  `    ``temp ``=` `n ` ` `  `    ``# Find sum of digits ` `    ``sum` `=` `0``; ` `    ``while` `(n):  ` `     `  `        ``k ``=` `n ``%` `10``; ` `        ``sum` `+``=` `k; ` `        ``n ``/``=` `10``; ` `     `  `    ``# check if sum of digits divides n ` `    ``if` `(temp ``%` `sum` `=``=` `0``): ` `        ``return` `"YES"``; ` ` `  `    ``return` `"NO"``; ` ` `  `# Driver Code ` `n ``=` `123``; ` ` `  `print``(isDivisible(n)); ` ` `  `# This code is contributed by  ` `# Akanksha Rai `

## C#

 `// C# implementation of above approach  ` `using` `System; ` ` `  `class` `GFG ` `{ ` ` `  `    ``// Function to check if the  ` `    ``// given number is divisible  ` `    ``// by sum of its digits  ` `    ``static` `String isDivisible(``long` `n)  ` `    ``{  ` `        ``long` `temp = n;  ` `     `  `        ``// Find sum of digits  ` `        ``int` `sum = 0;  ` `        ``while` `(n != 0)  ` `        ``{  ` `            ``int` `k = (``int``) n % 10;  ` `            ``sum += k;  ` `            ``n /= 10;  ` `        ``}  ` `     `  `        ``// check if sum of digits divides n  ` `        ``if` `(temp % sum == 0)  ` `            ``return` `"YES"``;  ` `     `  `        ``return` `"NO"``;  ` `    ``}  ` `     `  `    ``// Driver Code  ` `    ``public` `static` `void` `Main() ` `    ``{  ` `        ``long` `n = 123;  ` `        ``Console.WriteLine(isDivisible(n));  ` `    ``}  ` `} ` ` `  `// This code is contributed by anuj_67.. `

## PHP

 ` `

Output:

```NO
```

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.