# Whether a number is Harshad number (niven) or not in C++

In this tutorial, we are going to learn how to check if a number is a Harshad number (Niven number ) or not in C++ with a simple and easy program.

## Harshad or Niven number in C++

Any decimal number in which sum of its digits can divide the given number is called Harshad or Niven number.

For eg. 18= 1+8=9; 9 divides 18. Hence, 18 is a Harshad number. All single-digit number is Harshad.

### Approach to code:

• break the number into digits using mod operation.
• add the digits until reaching its unit place.
• check if the sum of digits divides the given number and leaves remainder 0.
• print “Yes” if we get our desired output else “No”

### Check if a number is Harshad or Not in C++

```//To check if the number is harshad(niven) or not
main()
{ int n,m,a;                 //initializing the variables
int sum=0;
cin>>n;                      //enter the number
m=n;                        // storing value of n
while(n!=0)
{ a=n%10;         //spliting in digits
n=n/10;
sum=sum+a; //getting sum of digits
}
if((m%sum)==0) //checking condition
{
cout<<"Yes the number is niven";
}
else
{
cout<<"No number is not niven";
}
} // end of main```
```Input 1:
18

Output:
Yes the number is niven

Input 2 :
15

Output:
No number is not niven```

For any doubts please comment below we will try to reply and clear it soon. Thanks!

Recommended:

Decimal to Octal conversion in C++

reverse pattern of digits using C++

Print all the Repeated Numbers with Frequency in an Array in C++

Stack in C++ Standard Template Library (STL)