Curso de Raku / Apéndice 🆕 / Flujo y funciones / Control de flujo y lógica / Exercises / Sumar hasta pasar de cien

Solución: Sumar hasta pasar de cien

Aquí tienes una posible solución para la tarea.

Código

my $sum = 0;
my $n   = 0;

loop {
    $n++;
    $sum += $n;
    last if $sum > 100;
}

say "reached $sum after adding 1..$n";

🦋 Puedes encontrar el código fuente en el archivo sum-until.raku.

Salida

reached 105 after adding 1..14

Comentarios

  1. Un loop { } a secas se repite para siempre; el last if $sum > 100 es lo que lo termina, en cuanto el total cruza el umbral.

  2. 1 + 2 + … + 14 es 105, la primera suma parcial que pasa de 100, así que el bucle se detiene con $n en 14.

  3. Puedes comprobar ese total con una reducción:

    say [+] 1..14; # 105

Sumar hasta pasar de cien   |   Subrutinas y estilo funcional