Y a-t-il une formule pour cette série? Je pense qu'il est un nombre harmonique sous une forme de somme (1/k) pour k = 1 à n1 + 1/2 + 1/3 + --- + 1/n =?
Répondre
est ici une façon de regarder:
Si je vous comprends correctement à la question , la lecture cela devrait vous aider: http://en.wikipedia.org/wiki/Harmonic_number
Comme il est le harmonic series résume à n
, vous cherchez la n
e harmonic number, approximativement donnée par γ + ln[n]
, où γ
est le Euler-Mascheroni constant.
Pour les petits n
, calculer simplement la somme directement:
double H = 0;
for(double i = 1; i < (n+1); i++) H += 1/i;
function do(int n)
{
if(n==1)
return n;
return 1/n + do(--n);
}
Alors que les solutions récursives semblent élégantes, dans ce cas, c'est inapproprié. – You
Si le nombre est assez grand, vous aurez un débordement de pile, ou vous ajouterez zéro, et vous ne changerez pas beaucoup de valeur. –
Je pensais qu'il utiliserait de petits nombres d'échantillons – bevacqua
Cela appartient à par exemple http://math.stackexchange.com/ – You
Pas vraiment - pas assez avancé. – duffymo
Eh bien, ce n'est pas lié à la programmation - c'est mathématique. – You