Курс по Raku / Основи / Основи на функциите / Създаване и извикване на функции / Exercises / Стойността на 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