Курс языка программирования Raku / Основы / Создание и вызов функций / Упражнения / Значение 𝑒
Решение: Значение 𝑒
Отказ от ответственности
В 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
Навигация по курсу
← Ассоциативные типы данных / Интерполяция словарей | Больше о функциях →
Эта страница автоматически переведена с помощью ChatGPT 4o. Оригинальный текст на английском языке.
Переводы этой страницы: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська