Het $$n$$-de harmonische getal is de som \[\sum_{i=1}^{n}\frac{1}{i}\]
Voor kleine waarden van $$n$$ is het eenvoudig om deze som te gewoon berekenen. Als $$n$$ echter zeer groot wordt, dan kan dit heel wat tijd in beslag nemen. Voor grote waarden van $$n$$ gebruik je dus beter een benadering die eenvoudig te berekenen is. De harmonische getallen kan je benaderen met onderstaande formule: \[\ln(n) + \gamma + \frac{1}{2n} - \frac{1}{12n^2} + \frac{1}{120n^4}\]
Hierbij staat $$\ln$$ voor de natuurlijke logaritme1. De $$\gamma$$ uit de formule is de constante van Euler-Mascheroni2 (niet te verwarren met het getal van Euler dat voorgesteld wordt door $$e$$) en is ongeveer gelijk aan 0.577215664901532.
Schrijf een functie harmonischExact die het $$n$$-de harmonische getal exact berekent. De functie neemt één argument: $$n$$.
Schrijf een functie harmonischBenaderd die het $$n$$-de harmonische getal benaderd berekent. De functie neemt één argument: $$n$$.
Schrijf een functie harmonisch die het $$n$$de harmonische getal berekent door de exacte manier te gebruiken als $$n$$ kleiner is dan 100 en de benadering voor andere waarden. De functie neemt één argument: $$n$$. Vermijd overbodige duplicatie van code.
>>> harmonischExact(10)
2.9289682539682538
>>> harmonischBenaderd(10)
2.9289682578955776
>>> harmonisch(10)
2.9289682539682538