Fácil+ · conversión de base
Decimal a binario
Convierte un decimal a binario solo con % 2 y / 2. El calentamiento de entrevista más común después de Fibonacci.
Problema
Entrada: un entero n (0 ≤ n ≤ 10⁹).
Salida: la representación binaria de n, sin ceros iniciales (0 se imprime como 0).
Ejemplo:
| Entrada | Salida |
|---|---|
5 | 101 |
255 | 11111111 |
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 — las dos operaciones
n % 2 es el ÚLTIMO bit; n / 2 lo descarta. Recoge los bits y voltéalos, o antepón cada bit nuevo a un string.
Pista 2 — la trampa del cero
El bucle while (n > 0) nunca corre con n = 0, así que no imprimirías nada. Resuelve el 0 primero (se imprime como 0).
Solución (¡inténtalo primero!)
int n = int.Parse(Console.ReadLine());
if (n == 0) { Console.WriteLine("0"); return; }
string bits = "";
while (n > 0) { bits = (n % 2) + bits; n = n / 2; }
Console.WriteLine(bits);
Anteponer a un string es O(n²) con entradas enormes — el artículo string vs StringBuilder explica cuándo importa. Siguiente: Contar los primos.