Cifra mayor de un número versión 2
Programa que calcule la cifra mayor de un número y la posición que ocupa. Se considera la posición 1 la de más a la izquierda. Si la cifra mayor se repite varias veces en el número se indicará la posición de la que se encuentre más a la izquierda.
Por ejemplo, si leemos el número N = 75271
el programa mostrará:
Cifra mayor: 7 Posición: 1
Solución:
Este ejercicio es una variación del ejercicio cifra mayor de un número y posición. En este caso se considera la posición 1 la que se encuentra más a la izquierda.
Para resolverlo nos basaremos en lo explicado en este ejercicio: mostrar las cifras de un número por separado y por cada cifra del número comprobaremos si es la cifra mayor.
import java.util.Scanner;
public class CifraMayor {
public static void main(String[] args) {
int num, aux, posicionMayor, cifra, mayor, posicion, numCifras;
Scanner sc = new Scanner(System.in);
do {
System.out.print("Introduce numero entero >0: ");
num = sc.nextInt();
} while (num <= 0);
//copiamos el número en una variable auxiliar
aux = num;
//obtenemos el número de cifras que tiene el número introducido
numCifras = 0;
while (aux != 0) {
numCifras++;
aux = aux / 10;
}
mayor = 0;//Esta variable contendrá el valro de la cifra mayor.
//Inicialmente le damos el valor 0 que es el menor valor de cualquier cifra del número.
posicionMayor = 0; //variable que contendrá pa posición donde se encuentra la cifra mayor del número
posicion = 0; //variable que contendrá la posición de la cifra con la que estamos trabajando
for(int i = numCifras-1; i >= 0; i--){
posicion++;
cifra = num / (int)Math.pow(10, i); //obtenemos la primera cifra de la izquierda del número
if (cifra > mayor) { //si es mayor que la mayor actual
mayor = cifra; // la tomamos como nueva mayor
posicionMayor = posicion; //y guardamos su posición
}
num = num % (int)Math.pow(10, i); //le quitamos al número su primera cifra de la izquierda.
}
System.out.print("Cifra mayor: " + mayor);
System.out.println(" Posición: " + posicionMayor);
}
}
No hay comentarios:
Publicar un comentario