// NARM.cpp: Números de Armstrong.pas #include /** Determina cuantos números son de Armstrong, desde 1 hasta N. - Un número es de Armstrong si la suma de los dígitos que lo componen elevados al cubo es igual al número. - Por ejemplo 153 es un número de Armstrong porque \code 3 3 3 1 + 5 + 3 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153 \endcode */ int main() { const int N = 3000; int numero, suma, digito, temp; cout << "Números encontrados (1 .. "; cout << N << ") que son de Armstrong:" << endl << endl; for ( numero = 1; numero <= N; ++numero ) { suma = 0; temp = numero; while ( temp != 0 ) { // suma de dígitos digito = temp % 10; // al cubo suma = suma + (digito * digito * digito); temp = temp / 10; } if (suma == numero) { cout << numero << " Suma de sus dígitos al cubo "; cout << suma << endl; } } return 0; } // EOF: NARM.cpp