Dado un número entero no negativo, agregue repetidamente todos sus dígitos hasta que el resultado tenga solo un dígito.
Por ejemplo:
Dado num = 38, el proceso es como: 3 + 8 = 11, 1 + 1 = 2. Dado que 2 tiene solo un dígito, devuélvalo.
Solución Java 1 – Recusión
public int addDigits(int num) { int sum=0; String s = String.valueOf(num); for(int i=0; i<s.length(); i++){ sum = sum + (s.charAt(i)-'0'); } if(sum < 10){ return sum; }else{ return addDigits(sum); } } |
Solución Java 2 – Matemáticas
public int addDigits(int num) { return num - 9*((num-1)/9); } |