In this program, you’ll learn how to Check Armstrong Number from an integer (entered by the user) using a while loop and if…else statement.
To understand this example to Check Armstrong Number, you should have the knowledge of following C++ programming topics:
- C++ if, if…else and Nested if…else
- C++ while and do…while Loop
A positive integer is called an Armstrong number if the sum of cubes of the individual digit is equal to that number itself. For example:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 is an Armstrong number. 12 is not equal to 1 * 1 * 1 + 2 * 2 * 2 // 12 is not an Armstrong number.
Program to Check Armstrong Number
#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: 371 371 is an Armstrong number.
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.
Related Program
- C++ Program to find LCM.
- C++ Program to reverse integer or number.
- C++ Program to display factors of a Number.
- C++ Program to check whether a number is a Palindrome or Not.
- C++ Program to display Prime Number Between two intervals.
- C++ Programs To Create a Pyramid and Pattern
- C++ Program to Check Whether a Number is Prime or Not
- C++ Program to display Amstrong Number between Two intervals.
- C++ Program to create a Pyramid and Pattern.
Ask your questions and clarify your/others doubts on Check Armstrong Number by commenting or posting on our forum. Documentation