C++ Program

Object:-Write a Program to check whether given input is armstrong number or not.

```#include <iostream>
using namespace std;

int main()
{
int origNum, num, rem, sum = 0;
cout << "Enter a positive  integer: ";
cin >> origNum;

num = origNum;
while(num != 0)
{
digit = num % 10;
sum += digit * digit * digit;
num /= 10;

}
if(sum == origNum)
cout << origNum << " is an Armstrong number.";
else
cout << origNum << " is not an Armstrong number.";
return 0;
}
```

### Output

```Enter a positive integer: 153
153 is an Armstrong number.
```

### Explanation

```153=1*1*1+5*5*5+3*3*3

In the above program, a positive integer is asked to enter by the user which is stored in the variable origNum.
Then, the number is copied to another variable num. This is done because we need to check the origNum at the end.
Inside the while loop, last digit is separated from num by the operation `digit = num % 10;`. This digit is cubed and added to the variable sum.
Now, the last digit is discarded using the statement `num /= 10;`.
In the next cycle of while loop, second last digit is separated, cubed and added to sum.
This continues until no digits are left in num. Now, the total sum sum is compared to the original number origNum.
If the numbers are equal, the entered number is an Armstrong number. If not, the number isn't an Armstrong number.

```

You may also like: