Курс языка программирования Raku / Приложение 🆕 / Порядок выполнения и функции / Порядок выполнения и логика / Exercises / Сумма, пока не больше ста

Решение: Сумма, пока не больше ста

Вот один из возможных вариантов решения задачи.

Код

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

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

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

🦋 Исходный код можно найти в файле sum-until.raku.

Вывод

reached 105 after adding 1..14

Комментарии

  1. Голый loop { } повторяется вечно; заканчивает его last if $sum > 100, как только сумма переваливает через порог.

  2. 1 + 2 + … + 14 равно 105 — первая частичная сумма, превысившая 100, — поэтому цикл останавливается с $n, равным 14.

  3. Проверить эту сумму можно свёрткой:

    say [+] 1..14; # 105

Навигация по курсу

Сумма, пока не больше ста   |   Подпрограммы и функциональный стиль