Курс 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