Cómo calcular la suma de las cifras de un número en Java
Programa Java para obtener la suma de las cifras de un número entero. El programa leerá por teclado un número entero positivo y calculará la suma de sus cifras.
Por ejemplo, si se introduce el número 3601 el programa mostrará:
La suma de sus cifras es: 10
Solución:
Para resolverlo debemos obtener cada una de las cifras del número y sumarla.
Tendremos una variable suma donde iremos acumulando la suma de las cifras.
El proceso de obtener una cifra y sumarla lo podemos realizar de esta forma:
supongamos que el número introducido N = 591
el valor inicial de suma es cero
suma = 0
Obtenemos la cifra de la derecha del número (el 1) realizando el resto de la división del número entre 10
591 % 10 -> 1
La cifra obtenida la acumulamos en la variable suma:
suma = suma + cifra
suma = 0 + 1 -> suma = 1
Quitamos la cifra anterior (1) dividiendo el número entre 10
591 / 10 -> 59
y repetimos el proceso
obtenemos la cifra de la derecha (el 9) y la acumulamos en la variable suma
59 % 10 -> 9
suma = 1 + 9 -> suma = 10
Quitamos la cifra anterior (9) dividiendo el número entre 10
59 / 10 -> 5
y repetimos el proceso
obtenemos el 5 y lo acumulamos en la variable suma
5 % 10 -> 5
suma = 10 + 5 -> suma = 15
Quitamos el 5 dividiendo el número entre 10
5 / 10 -> 0
Cuando al dividir el número entre 10 obtenemos un cero significa que al número ya no le quedan más cifras y el proceso ha finalizado
En la variable suma tendremos la suma de las cifras del número.
/*
* Calcular la suma de las cifras de un número
*/
import java.util.Scanner;
public class SumaCifrasNumero {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n, suma, cifra;
//leer un número entero positivo
do {
System.out.print("Introduce un número entero positivo: ");
n = sc.nextInt();
if (n <= 0) {
System.out.println("Número no válido");
}
} while (n <= 0);
suma = 0; //esta variable contendrá la suma de las cifras del número
while (n != 0) { //mientras a n le queden cifras
cifra = n % 10; //obtenemos la ultima cifra del número
suma = suma + cifra; //sumamos la última cifra de n
n = n / 10; //le quitamos a n la última cifra
}
System.out.println("La suma de sus cifras es: " + suma);
}
}
Y sumar dos numeros con llevadas de manera manual?
ResponderEliminar