Fácil+ · construir dígitos
Invertir un número
12345 → 54321. Pela dígitos por la cola y constrúyelos sobre un número nuevo — el calentamiento de entrevista más pedido que existe.
Problema
Entrada: un entero n (0 ≤ n ≤ 10⁹).
Salida: los dígitos de n en orden inverso (como entero — los ceros iniciales desaparecen).
Ejemplo:
| Entrada | Salida |
|---|---|
12345 | 54321 |
1000 | 1 |
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 — construye, no acumules
No hacen falta strings: rev = rev * 10 + n % 10; desplaza lo que tienes y añade el dígito pelado. Luego n = n / 10;.
Pista 2 — por qué 1000 → 1
Como ENTERO, el "0001" invertido es simplemente 1 — la matemática descarta los ceros iniciales sola. Un enfoque con strings necesitaría recortarlos.
Solución (¡inténtalo primero!)
int n = int.Parse(Console.ReadLine());
int rev = 0;
while (n > 0) { rev = rev * 10 + n % 10; n = n / 10; }
Console.WriteLine(rev);
Fíjate en que n = 0 nunca entra en el while — rev queda 0, que se imprime correctamente. Siguiente: Número palíndromo.