armstrong

Upload: martin-gonzalez

Post on 15-Jul-2015

358 views

Category:

Documents


0 download

TRANSCRIPT

package armstrong; import java.io.*; /** * * @author Trunks */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) throws IOException { // TODO code application logic here int numero; int numeroTMP; // variable temporal para copiar el numero int numeroTMP2; //variable temporal2 para copiar el numero int digitos=0; int suma=0; int cuentaDigitos=0; System.out.println("Ingrese el numero a consultar: "); BufferedReader te= new BufferedReader(new InputStreamReader(System.in)); numero = Integer.parseInt(te.readLine()); numeroTMP = numero; numeroTMP2 = numero; while(numero>0) { numero = numero / 10; // aqui con esto voy reduciendo el numero por medio de // la division para ver cuantos digitos tiene y //para controlar el ciclo y poder salir. // Ej: 345/10= 34 (1 dig) 34/10=3 (2 dig) //y el 4 que queda es el 3er digito cuentaDigitos++; // este contador lleva la cuenta de los digitos }

while(numeroTMP>0){ // teniendo los numeros de digitos solo me queda // descomoponer por modulo % el numero // y elevarlo al numero de digitos suma += Math.pow(numeroTMP%10,cuentaDigitos); numeroTMP = numeroTMP / 10; } // lo que viene luego es evaluar su la suma de el calculo anterior da igual al numeroTMP2 // que es una copia de numero, para determinar si es o no de Amstrong if(numeroTMP2 == suma) { System.out.println("\n Es un numero de Amstrong"); } else { System.out.println("\n No es un numero de Amstrong"); } } }