Home > Backend Development > C++ > C program to check if a number is divisible by the sum of its digits

C program to check if a number is divisible by the sum of its digits

王林
Release: 2023-08-30 16:05:08
forward
1592 people have browsed it

C program to check if a number is divisible by the sum of its digits

Given a number n, we need to check whether the sum of its digits is divisible by n. To find out, we need to add all the numbers starting from the ones digit and then divide the final sum by that number.

For example, we have a number "521", and we need to find the sum of its digits, that is, "5 2 1 = 8", but 521 cannot be divided by 8, and the remainder is not 0.

Another example, "60", the sum of its digits is "6 0 = 6", 6 can be divided into 60, and the remainder is 0.

Example

Input: 55
Output: No
Explanation: 5+5 = 10; 55 not divisible by 10
Input: 12
Output: Yes
Explanation: 1+2 = 3; 12 is divisible by 3
Copy after login

The method used below is as follows:

To solve this problem, we need to get each number from the input and calculate Sum each number and then check if it divides the number.

  • Get the input
  • Get each number starting from the ones digit and add it to a sum variable with an initial value of zero
  • Use the sum of the numbers Divide by input
  • Return result

Algorithm

In function int isDivisible(long int num)
   Step 1-> Declare and initialize temp = num, sum = 0
   Step 2-> Loop While num
      Declare and initialize k as num % 10
   Set sum as sum + k
      Set num as num / 10
   End Loop
   Step 3-> If temp % sum == 0 then,
      Return 1
   Step 4-> Return 0
      End function
In main()
   Step 1-> Declare and initialize num as 55
   Step 2-> If isDivisible(num) then,
      Print "yes "
   Step 3-> Else
Print "no "
Copy after login

Example

Demonstration

#include <stdio.h>
// This function will check
// whether the given number is divisible
// by sum of its digits
int isDivisible(long int num) {
   long int temp = num;
   // Find sum of digits
   int sum = 0;
   while (num) {
      int k = num % 10;
      sum = sum + k;
      num = num / 10;
   }
   // check if sum of digits divides num
   if (temp % sum == 0)
      return 1;
      return 0;
}
int main() {
   long int num = 55;
   if(isDivisible(num))
      printf("yes</p><p>");
   else
      printf("no</p><p>");
      return 0;
}
Copy after login

Output

If you run the above code, the following output will be generated −

No
Copy after login

The above is the detailed content of C program to check if a number is divisible by the sum of its digits. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template