#include <iostream>
#include <cmath>
int main() {
int num, originalNum, remainder, result;
std::cout << "Armstrong numbers between 1 and 1000 are: " << std::endl;
for (int i = 1; i <= 1000; i++) {
num = i;
result = 0;
originalNum = num;
int n = 0;
while (originalNum != 0) {
originalNum /= 10;
n++;
}
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += pow(remainder, n);
originalNum /= 10;
}
if (result == num) {
std::cout << num << std::endl;
}
}
return 0;
}
Armstrong numbers between 1 and 1000 are:
1
2
3
4
5
6
7
8
9
153
370
371
407sum of the cubes of its digits and compares it with the original number. If the two values are equal, then the number is an Armstrong number, and the program displays it to the console using std::cout.num, originalNum, remainder, and result. num stores the current number being checked for Armstrongness, originalNum stores the original value of num, remainder stores the remainder when originalNum is divided by 10, and result stores the sum of the cubes of the digits of num.num using a while loop that divides originalNum by 10 and increments n until originalNum is 0. It then uses another while loop to calculate the sum of the cubes of the digits of num by repeatedly dividing originalNum by 10, calculating the cube of the remainder using the pow function from the cmath library, and adding the result to result.result is equal to num, and if so, it outputs num to the console using std::cout.