12
votes

Tout moyen efficace de calculer la somme de la série harmonique jusqu'à Nième terme? 1 + 1/2 + 1/3 + --- + 1 / N =?

existe-t-il une formule pour cette série "1 + 1/2 + 1/3 + --- + 1 / N =?" Je pense que c'est un numéro harmonique sous une forme de somme (1 / k) pour K = 1 à n.


8 commentaires

Cela appartient à E.G. math.stackexchange.com


Pas vraiment - pas assez avancé.


Eh bien, ce n'est pas une programmation liée - c'est liée aux mathématiques.


@duffymo: En fait, Math.StaCkeXchange.com ressemble à une maison parfaite pour cette question - il est explicitement pour "Maths à n'importe quel niveau", contrairement à Mathoverflow.net.


Merci les gars! Je visiterai ce site. La réponse de cette question m'aidera à résoudre un problème dans l'algorithme, qui est associé à l'ordinateur


@Jim Lewis - Merci pour la tête. Je n'ai pas réalisé qu'il y avait deux URL mathématiques maintenant.


Intégrer 1 / x de 1 à n. Par conséquent, il donne [ln (x) + c] comme réponse.


Pourquoi ne pas le déplacer au lieu de le fermer? Les moteurs de recherche sont toujours liés à ces questions fermées et il est généralement improductif et peu probable aux nouveaux utilisateurs de les traiter comme celui-ci.


4 Réponses :


2
votes

3
votes

Si je vous ai dit que vous avez interrogé correctement, lisez ceci devrait vous aider: http: //fr.wikipedia. org / wiki / harmonic_number


0 commentaires

10
votes

Comme il s'agit du Série Harmonic résumée jusqu'à n Code>, vous recherchez le N code> th numéro harmonique , environ donnée par î³ + ln [n] code>, où î³ code> est le Constante Euler-Mascheroni .

pour petit n code>, juste calculer la somme directement: p>

double H = 0;
for(double i = 1; i < (n+1); i++) H += 1/i;


0 commentaires

0
votes
function do(int n) 
{
    if(n==1)
        return n;

    return 1/n + do(--n); 
}

3 commentaires

Bien que des solutions récursives semblent élégantes, dans ce cas, il est inapproprié.


Si le nombre est assez grand, vous obtiendrez un débordement de pile, ou si vous augmenterez fondamentalement zéro et ne modifie pas beaucoup la valeur.


Je pensais qu'il utiliserait de petits échantillons de numéros