Algorithm

1. Start
2. Read an integer 'num' from the user
3. Initialize variables: originalNum = num, sum = 0
4. Count the number of digits in 'num' and store it in a variable 'numDigits'
5. Repeat the following steps until num is not equal to 0:
a. Extract the last digit of 'num' and store it in a variable 'digit'
b. Compute 'digit' raised to the power of 'numDigits' and add it to 'sum'
c. Update 'num' by removing its last digit
6. Check if 'sum' is equal to 'originalNum'
a. If true, print "Armstrong number"
b. If false, print "Not an Armstrong number"
7. End

Code Examples

#1 Code Example- C++ program Check Armstrong Number of 3 Digits

```Code - C++ Programming```

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

int main() {
int num, originalNum, remainder, result = 0;
cout << "Enter a three-digit integer: ";
cin >> num;
originalNum = num;

while (originalNum != 0) {
// remainder contains the last digit
remainder = originalNum % 10;

result += remainder * remainder * remainder;

// removing last digit from the orignal number
originalNum /= 10;
}

if (result == num)
cout << num << " is an Armstrong number.";
else
cout << num << " is not an Armstrong number.";

return 0;
}``````
Copy The Code &

Output

cmd
Enter a positive integer: 371
371 is an Armstrong number.

#2 Code Example- C++ program Check Armstrong Number of n Digits

```Code - C++ Programming```

``````#include <cmath>
#include <iostream>

using namespace std;

int main() {
int num, originalNum, remainder, n = 0, result = 0, power;
cout << "Enter an integer: ";
cin >> num;

originalNum = num;

while (originalNum != 0) {
originalNum /= 10;
++n;
}
originalNum = num;

while (originalNum != 0) {
remainder = originalNum % 10;

// pow() returns a double value
// round() returns the equivalent int
power = round(pow(remainder, n));
result += power;
originalNum /= 10;
}

if (result == num)
cout << num << " is an Armstrong number.";
else
cout << num << " is not an Armstrong number.";
return 0;
}``````
Copy The Code &

Output

cmd
Enter an integer: 1634
1634 is an Armstrong number.