Définition
En mathématiques, la séquence harmonique fait référence à une séquence où
c'est-à-dire que le n ème terme de la séquence est égal à l'inverse de n .
introduction
Dans ce défi, étant donné un entier positif n en entrée, sortez la somme partielle des n premiers termes de la séquence harmonique.
Contribution
Vous recevrez un entier positif (dans la plage de nombres pris en charge par votre langue). Il peut s'agir de Signé et de Non signé (dépend de vous), car le défi ne nécessite que des entiers positifs.
Vous pouvez prendre l'entrée de n'importe quelle manière, sauf en supposant qu'elle soit présente dans une variable prédéfinie. La lecture à partir d'un fichier, d'un terminal, d'une fenêtre modale ( prompt()
en JavaScript), etc. est autorisée. Prendre l'entrée comme argument de fonction est également autorisé.
Production
Votre programme doit sortir la somme des n premiers termes de la séquence harmonique sous forme de flottant (ou entier si la sortie est divisible par 1) avec une précision de 5 chiffres significatifs, où n se réfère à l'entrée. Pour transmettre la même chose dans le jargon mathématique, vous devez calculer
où n fait référence à l'entrée.
Vous pouvez sortir de n'importe quelle manière, sauf écrire la sortie dans une variable. L'écriture sur écran, terminal, fichier, fenêtre modale ( alert()
en JavaScript), etc. est autorisée. La sortie en tant que return
valeur de fonction est également autorisée.
Règles supplémentaires
Le numéro d'entrée peut être indexé 0 ou indexé 1. Vous devez le préciser dans votre message.
Vous ne devez pas utiliser de fonction intégrée pour calculer la somme partielle des n premiers éléments. (Ouais, c'est pour toi Mathematica!)
Vous ne devez pas abuser des types de numéros natifs pour banaliser le problème .
Les échappatoires standard s'appliquent.
Cas de test
Les cas de test supposent que l'entrée est indexée 1
Input Output
1 1
2 1.5
3 1.8333
4 2.0833
5 2.2833
Critère gagnant
Il s'agit de code-golf , donc le code le plus court en octets gagne!
9.9999E10
plutôt que99999999999.9999999999
Réponses:
Gelée , 3 octets
Essayez-le en ligne!
1 indexé.
Explication:
la source
Python 3, 27 octets
la source
RuntimeError
lors de la gestion d'une entrée supérieure à la limite de récursivité, 1000 par défaut.sys.setrecursionlimit(473755252663)
mais la pile finira par déborder assez facilementJavaScript,
1918 octets1 octet enregistré grâce à @RickHitchcock
Ceci est indexé 1.
la source
f=
de votre réponse pour économiser 2 octets.f=
car la fonction est récursive et se référence dansf(--a)
. Mais si ce n'était pas une solution récursive, j'aurais pu le fairef=a=>a&&1/a+f(--a)
.APL (Dyalog) , 5 octets
Essayez-le en ligne!
Vous pouvez ajouter
⎕PP←{number}
à l'en-tête pour changer la précision en{number}
.Ceci est indexé 1.
Explication
la source
Mathematica,
212016 octetsCette solution est indexée 1.
la source
Tr[1./Range@#]&
.PHP, 33 octets
1-indexation
Essayez-le en ligne!
la source
Pari / GP , 18 octets
1-indexation.
Essayez-le en ligne!
la source
CJam , 11 octets
Essayez-le en ligne!
1 indexé.
la source
Japt
-x
,8653 octetsMerci à ETHproductions
Essayez-le en ligne
la source
õ x@1/X
XpJ
au lieu de1/X
:-)_
cause des fonctions automatiques. Je devrais vraiment écrire cette astuce: P (je devrais avoir du temps aujourd'hui ou demain, car c'est le Memorial Day)CJam,
1110 bytes1 byte removed thanks to Erik the outgolfer
This uses 1-based indexing.
Try it online!
Explanation
la source
W
instead of-1
.Haskell, 20 bytes
Original solution, 22 bytes
These solutios assumes 1-indexed input.
la source
R, 15 bytes
Try it online!
la source
Tcl 38 bytes
That's a very dirty hack, and the recursive calls pass literal strings like "5-1-1-1..." until it evaluates to 0.
la source
05AB1E, 3 bytes
Try it online!
1-indexed.
la source
MATL, 5 bytes
This solution uses 1-based indexing.
Try it at MATL Online
Explanation
la source
Axiom,
4534 bytes1-Indexed; It has argument one positive integer(PI) and return "Any" that the sys convert (or not convert) to the type useful for next function arg (at last it seems so seeing below examples)
la source
Pyth, 5 bytes
Try it here.
1-indexed.
la source
C, 54 bytes
Uses 1-indexed numbers.
la source
Brachylog, 6 bytes
Try it online!
This is 1-indexed.
Explanation
la source
QBIC, 13 bytes
Explanation
la source
Gol><>, 8 bytes
Try it online!
Example full program & How it works
la source
Haskell, 21 bytes
la source
C (gcc), 35 bytes
Try it online!
la source
Braingolf, 20 bytes [non-competing]
This won't actually work due to braingolf's inability to work with floats, however the logic is correct.
Explanation:
Here's a modified interpreter that supports floats. First argument is input.
la source
Tcl, 61 bytes
Try it online!
la source