How to print all armstrong numbers between 1 to 500 in C++

1 Answer

0 votes
#include <iostream>

int armstrong(int n) {
    int result = 0, remainder;  
          
    while(n > 0) {  
        remainder = n % 10;  
        n = n / 10;  
        result += remainder * remainder * remainder;  
    }  
    return result;
}
 
int main(void) {
    // 153 = 1*1*1 + 5*5*5 + 3*3*3 = 153 = armstrong
          
    for(int i = 1; i <= 500; i++)          
        if (i == armstrong(i))  
            std::cout << i << "\n";  

    return 0;
}
   
 
   
   
/*
run:
   
1
153
370
371
407
   
*/

 



answered Aug 22, 2021 by avibootz

Related questions

1 answer 149 views
1 answer 121 views
1 answer 227 views
1 answer 279 views
1 answer 303 views
...