typestar

While y do-while en C++

while pregunta antes de cada pasada; do-while corre el cuerpo una vez antes de preguntar.

int collatz_steps(int n) {
    int steps = 0;
    while (n > 1) {
        n = (n % 2 == 0) ? n / 2 : 3 * n + 1;
        steps++;
    }
    return steps;
}

int count_digits(int n) {
    int digits = 0;
    do {                              // runs at least once, even for 0
        n /= 10;
        digits++;
    } while (n > 0);
    return digits;
}

Cómo funciona

  1. El bucle while de Collatz sigue partiendo a la mitad o triplicando n hasta llegar a 1.
  2. El ternario elige n / 2 para los valores pares y 3 * n + 1 para los impares.
  3. do { ... } while (n > 0) divide al menos una vez, así que 0 también cuenta un dígito.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
286
Tokens
85
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 60 segundos.

Escribe este fragmento

Paso 3 de 3 en Control de flujo; paso 6 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →