Курс Raku / Основи / Основи функцій / Створення та виклик функцій / Вправи / Значення e

Розв’язання: Значення e

Застереження

У Raku є вбудована стала e, яка дає відповідь на завдання одразу. Наведене нижче рішення створено з навчальною метою.

Код

Формула в цьому завданні містить факторіал, а в нас уже є щонайменше два способи його обчислити (буде й більше). Наведена нижче програма визначає дві функції: одну для обчислення факторіала, другу — для часткової суми за формулою.

Оскільки за умовою функцію можна викликати без аргументів, і тоді вона виконує наперед визначену кількість ітерацій, ми можемо додати параметру значення за замовчуванням: sub e-approx($max = 100).

Зверніть увагу в коді на подібність того, як накопичуються результати в постфіксному циклі for по діапазону.

Ось рішення:

sub factorial($n) {
    my $f = 1;
    $f *= $_ for 1..$n;

    return $f;
}

sub e-approx($max = 100) {
    my $e = 1;
    $e += 1 / factorial($_) for 1..$max;

    return $e;
}

say e-approx(10);
say e-approx();

🦋 Знайдіть програму у файлі the-value-of-e.raku.

Вивід

За 10 та 100 ітерацій ми отримуємо такі результати. Спробуйте також інші значення $max.

$ raku exercises/functions/the-value-of-e.raku
2.7182818
2.718281828459045

Навігація курсом

Значення e   |   Тест — Створення функції