Bucles while en Mojo
Un recorrido de Collatz: repetir hasta que la condición por fin cede.
def main():
var n = 27
var steps = 0
while n != 1:
if n % 2 == 0:
n //= 2
else:
n = 3 * n + 1
steps += 1
print("27 reaches 1 in", steps, "steps")
Cómo funciona
while n != 1:sigue hasta que la secuencia aterriza en uno.- Los pares se parten a la mitad con
//=, y los impares toman3 * n + 1. stepscuenta cuántas iteraciones tomó.
Palabras clave y builtins usados aquí
defelseifprintvarwhile
El intento, en números
- Líneas
- 10
- Caracteres a escribir
- 145
- Tokens
- 53
- Ritmo de tres estrellas
- 90 tpm
Al ritmo de tres estrellas de 90 tokens por minuto, este intento toma unos 35 segundos.
Paso 2 de 5 en Control de flujo; paso 8 de 26 en Fundamentos del lenguaje.