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