Principiante · pelar dígitos
Suma de dígitos
Suma los dígitos de un entero: 1234 → 1+2+3+4 = 10. El mismo bucle que Contar los dígitos, pero acumulando esta vez.
Problema
Entrada: un entero n (−10⁹ ≤ n ≤ 10⁹).
Salida: la suma de sus dígitos (el signo menos no cuenta).
Ejemplo:
| Entrada | Salida |
|---|---|
1234 | 10 |
-305 | 8 |
Tu solución
Entrada personalizada para "Probar mi entrada"
La corrección se ejecuta por completo en tu navegador contra pruebas ocultas. Tu código se guarda localmente mientras escribes. Ctrl+Enter corrige.
¿Atascado? Pistas
Pista 1 — pelar y sumar
Cada pasada: suma += n % 10; toma el último dígito, n = n / 10; lo descarta. Itera hasta cero.
Pista 2 — las trampas
La entrada negativa loopea para siempre con n > 0 — haz Math.Abs(n) primero. Y n = 0 debe imprimir 0 (el do-while lo resuelve gratis).
Solución (¡inténtalo primero!)
int n = Math.Abs(int.Parse(Console.ReadLine()));
int suma = 0;
do { suma += n % 10; n = n / 10; } while (n > 0);
Console.WriteLine(suma);
El mismo bucle, distinta plegadura — contar se volvió sumar. El patrón acumulador de la lección 4 haciendo su trabajo. Siguiente: Año bisiesto.