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

Few mode harshad numbers: 1,2,3,4,5,6,7,8,9,10,12,18,20,…….

### 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)**

## Leave a Reply