/** @(#)Lab01.java 2007 Traducción de Armstrong.cpp @author Adolfo Di Mare */ import java.lang.System; // Este programa usa la clase "System" /** Clase que contiene el programa principal {@code main()}. */ public class Lab01 { /** Determina cuantos números son de Armstrong, desde {@code 1} hasta {@code 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:
                 3    3    3
         153 == 1  + 5  + 3  == 1^3 + 5^3 + 3^3
         
*/ public static void main( String args[] ) { final int N = 3000; int numero, suma, digito, temp; System.out.print("Números encontrados (1 .. "); System.out.print( (N) + ") que son de Armstrong:\n\n" ); 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) { System.out.println( (numero) + " Suma de sus dígitos al cubo: " + (suma) ); } } } /** Constructor por defecto. * {@code private} previene que la clase sea instanciada. */ private Lab01() { super(); } } // Lab01 // EOF: Lab01.java