Cursus Raku / Essentiëlen / Functies maken en aanroepen / Oefeningen / De waarde van e
Oplossing: De waarde van e
Disclaimer
In Raku is er een ingebouwde constante e
die het directe antwoord op de taak geeft. De onderstaande oplossing is bedoeld voor educatieve doeleinden.
Code
De formule in deze taak bevat een faculteit, en we hebben al minstens twee oplossingen om deze te berekenen (meer volgen nog). Het onderstaande programma definieert twee functies: één om de faculteit te berekenen, en een andere voor de partiële som volgens de formule.
Aangezien het vereist is dat de functie zonder argumenten kan worden aangeroepen, in welk geval deze een vooraf bepaald aantal iteraties uitvoert, kunnen we een standaardwaarde van de parameter toevoegen: sub e-approx($max = 100)
.
In de code, let op de overeenkomsten in hoe de resultaatwaarden worden geaccumuleerd in een postfix for
-lus over een bereik.
Hier is de oplossing:
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();
🦋 Vind het programma in het bestand the-value-of-e.raku.
Uitvoer
Met 10 en 100 iteraties krijgen we de volgende resultaten. Probeer daarnaast andere waarden van $max
.
$ raku exercises/functions/the-value-of-e.raku
2.7182818
2.718281828459045
Cursusnavigatie
← Associatieve datentypen / Interpolatie van hashes | Meer over functies →
Deze pagina is automatisch vertaald met ChatGPT 4o. Originele Engelse tekst.
Vertalingen van deze pagina: English • Deutsch • Español • Italiano • Latviešu • Nederlands • Български • Русский • Українська