In this example, you will learn the concept of Armstrong number and C++ program to check Armstrong number of any digits.
What is Armstrong Number?
A number of three digits is said to be an Armstrong number if the sum of the cube of its digits is equal to the number itself.
For example:
371 = 3*3*3 + 7*7*7 + 1*1*1
Similarly, a number is said to be Armstrong number of order of n
if
abcd.. = an + bn + cn + dn + ...
//Armstrong number program in C++
#include <iostream>
using namespace std;
int main()
{
int num, temp, rem, sum = 0;
cout << "Enter a three digit positive number: ";
cin >> num;
temp = num; //storing num into temp for using later in the program
//while loop for cubing individual digit of num
while (num != 0)
{
rem = num % 10;
sum += rem * rem * rem;
num = num / 10;
}
//if condition for comparing sum with original number
if (temp == sum)
cout << temp << " is an Armstrong number" << endl;
else
cout << temp << " is not an Armstrong number" << endl;
return 0;
} //end main
Output
//Armstrong number program in C++ of any digit
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int num, temp, rem;
int sum = 0, n = 0;
cout << "Enter positive number: ";
cin >> num;
temp = num;
//logic to find the number of digits in a given number
while (temp != 0)
{
temp = temp / 10;
n++;
}
temp = num;
while (temp != 0)
{
rem = temp % 10; //storing individual digit of original number in rem
sum = sum + pow(rem, n); //computing power of digits of original number
temp = temp / 10;
}
//checking whether sum is equal to original number
if (num == sum)
cout << num << " is an Armstrong number" << endl;
else
cout << num << " is not an Armstrong number" << endl;
return 0;
}
Output
Enter positive number: 1634 1634 is an Armstrong number Enter positive number: 1635 1635 is not an Armstrong number
Explanation
In this program, we find the order of the number entered by the user because this program works for n
order Armstrong number.
We have used standard math library function pow()
for calculating the power of individual digits of num
.