Definition
In der Mathematik bezieht sich harmonische Folge auf eine Folge, in der
dh der n- te Term der Folge ist gleich dem Kehrwert von n .
Einführung
Bei dieser Abfrage wird bei einer positiven Ganzzahl n als Eingabe die Teilsumme der ersten n Terme der harmonischen Sequenz ausgegeben .
Eingang
Sie erhalten eine positive Ganzzahl (innerhalb des von Ihrer Sprache unterstützten Zahlenbereichs). Es kann entweder signiert oder nicht signiert sein (hängt von Ihnen ab), da die Herausforderung nur positive ganze Zahlen erfordert.
Sie können die Eingabe auf beliebige Weise übernehmen, außer wenn sie in einer vordefinierten Variablen vorhanden ist. Das Lesen von Dateien, Terminals, Modalfenstern ( prompt()
in JavaScript) usw. ist erlaubt. Die Eingabe als Funktionsargument ist ebenfalls zulässig.
Ausgabe
Ihr Programm sollte die Summe der ersten n Terme der harmonischen Sequenz als Gleitkommazahl (oder Ganzzahl, wenn die Ausgabe gleichmäßig durch 1 teilbar ist) mit einer Genauigkeit von 5 signifikanten Ziffern ausgeben, wobei n sich auf die Eingabe bezieht. Um dasselbe im mathematischen Jargon zu vermitteln, müssen Sie rechnen
Dabei bezieht sich n auf die Eingabe.
Sie können auf jede Art und Weise ausgeben, außer die Ausgabe in eine Variable zu schreiben. Das Schreiben auf Bildschirm, Terminal, Datei, modales Fenster ( alert()
in JavaScript) usw. ist erlaubt. Die Ausgabe als Funktionswert return
ist ebenfalls erlaubt.
Zusätzliche Regeln
Die Eingangsnummer kann entweder 0-indiziert oder 1-indiziert sein. Sie müssen dies in Ihrem Beitrag angeben.
Sie dürfen kein eingebautes Element verwenden , um die Teilsumme der ersten n Elemente zu berechnen . (Ja, es ist für dich Mathematica!)
Sie dürfen native Nummerntypen nicht missbrauchen, um das Problem zu trivialisieren .
Es gelten Standard-Regelungslücken .
Testfälle
Bei den Testfällen wird davon ausgegangen, dass die Eingabe 1-indiziert ist
Input Output
1 1
2 1.5
3 1.8333
4 2.0833
5 2.2833
Gewinnkriterium
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
9.9999E10
eher als99999999999.9999999999
Antworten:
Gelee , 3 Bytes
Probieren Sie es online!
1-indiziert.
Erläuterung:
quelle
Python 3, 27 Bytes
quelle
RuntimeError
wenn Eingaben verarbeitet werden, die größer als das Rekursionslimit sind (standardmäßig 1000).sys.setrecursionlimit(473755252663)
aber der Stapel wird schließlich ziemlich leicht überlaufenJavaScript,
1918 BytesDank @RickHitchcock 1 Byte gespart
Dies ist 1-indiziert.
quelle
f=
aus Ihrer Antwort entfernen , um 2 Bytes zu sparen.f=
weil die Funktion rekursiv ist und sich selbst referenziertf(--a)
. Aber wenn dies keine rekursive Lösung gewesen wäre, hätte ich das tun könnenf=a=>a&&1/a+f(--a)
.APL (Dyalog) , 5 Bytes
Probieren Sie es online!
Sie können
⎕PP←{number}
dem Header hinzufügen , um die Genauigkeit auf zu ändern{number}
.Dies ist 1-indiziert.
Erläuterung
quelle
Mathematica,
212016 BytesDiese Lösung ist 1-indiziert.
quelle
Tr[1./Range@#]&
.PHP, 33 Bytes
1-Indizierung
Probieren Sie es online!
quelle
Pari / GP , 18 Bytes
1-Indizierung.
Probieren Sie es online!
quelle
CJam , 11 Bytes
Probieren Sie es online!
1-indiziert.
quelle
Japt
-x
,8653 BytesMit einigem Dank an ETHproductions
Probieren Sie es online aus
quelle
õ x@1/X
XpJ
anstelle von1/X
:-)_
aufgrund von Auto-Funktionen überhaupt braucht . Ich sollte diesen Tipp wirklich schreiben: P (ich sollte heute oder morgen Zeit haben, weil es Memorial Day ist)CJam ,
1110 BytesDank Erik, dem Outgolfer, wurde 1 Byte entfernt
Dies verwendet eine 1-basierte Indizierung.
Probieren Sie es online!
Erläuterung
quelle
W
anstelle von verwenden-1
.Haskell, 20 Bytes
Originallösung, 22 Bytes
Diese Lösungen gehen von einer 1-indizierten Eingabe aus.
quelle
R , 15 Bytes
Probieren Sie es online!
quelle
Tcl 38 Bytes
Das ist ein sehr schmutziger Hack, und die rekursiven Aufrufe übergeben Literal-Strings wie "5-1-1-1 ...", bis der Wert 0 lautet.
quelle
05AB1E , 3 Bytes
Probieren Sie es online!
1-indiziert.
quelle
MATL, 5 Bytes
Diese Lösung verwendet eine 1-basierte Indizierung.
Probieren Sie es bei MATL Online aus
Erläuterung
quelle
Axiom,
4534 Bytes1-indiziert; Es hat Argument eine positive Ganzzahl (PI) und gibt "Any" zurück, das das Sys in den für die nächste Funktion nützlichen Typ konvertiert (oder nicht konvertiert).
quelle
Pyth, 5 Bytes
Probieren Sie es hier aus.
1-indiziert.
quelle
C 54 Bytes
Verwendet 1-indizierte Zahlen.
quelle
Brachylog , 6 Bytes
Probieren Sie es online!
Dies ist 1-indiziert.
Erläuterung
quelle
QBIC , 13 Bytes
Erläuterung
quelle
Haskell, 21 Bytes
quelle
C (gcc) , 35 Bytes
Probieren Sie es online!
quelle
Braingolf, 20 Bytes [nicht konkurrierend]
Dies funktioniert nicht wirklich, da Braingolf nicht mit Schwimmern arbeiten kann, aber die Logik ist korrekt.
Erläuterung:
Hier ist ein modifizierter Interpreter , der Floats unterstützt. Das erste Argument wird eingegeben.
quelle
Tcl, 61 Bytes
Probieren Sie es online!
quelle
Gol> <> , 8 Bytes
Probieren Sie es online!
Beispiel volles Programm & wie es funktioniert
quelle