Problem: Write a C program to check whether a number is a Harshad Number or not.
Harshad number (or Niven) is an integer that is divisible by the sum of its digits.
Example: – 21, 111, 153.

Steps to check Harshad Number in C:
- Take a number as input.
- Sum the digits of the number.
- Find the remainder of number/sum i.e number%sum
- If the remainder is 0 then the input is Harshad number.
- Else Not.
Here is the implementation of the steps in C.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include<stdio.h> #include<conio.h> int main() { int number,original_number,sum=0; int digit; printf("Enter a number \n"); scanf("%d",&original_number); number=original_number;//copying the original number while(number!=0) { digit=number%10; sum+=digit; number=number/10; } if(original_number%sum==0) printf("HARSHAD NUMBER \n"); else printf("NOT A HARSHAD NUMBER"); return 0; } |
Output
1 2 3 | Enter a number 153 HARSHAD NUMBER |
In this tutorial, we learned to check Harshad Number in C.