Herausforderung
Bei einer positiven Ganzzahl N
wird die Summe der ersten N
Reziprokwerte als exakter Bruch ausgegeben , der als ein Paar von Ganzzahlen in einer konsistenten Reihenfolge dargestellt wird, die Zähler und Nenner darstellt.
Regeln
Die Ausgabe muss exakt sein.
Die Ausgabe sollte als Ganzzahlenpaar in einer konsistenten Reihenfolge erfolgen, die Zähler und Nenner darstellt.
Die Verwendung von nicht ganzzahligen numerischen Typen (eingebaut oder Bibliothek) ist verboten.
- Erläuterung / Ausnahme: Nicht ganzzahlige numerische Typen sind nur dann in Ordnung, wenn alle verwendeten, berechneten und zurückgegebenen Werte Ganzzahlen sind (dh Ihre Sprache verwendet standardmäßig rationale Zahlen, aber Sie verwenden in Ihrer Antwort nur Ganzzahlarithmetik).
Die Leistung sollte so gering wie möglich sein. (
3/2
ist okay,6/4
ist nicht)Standardlücken sind verboten.
Übermittlungen sollten für Eingaben von mindestens 20 oder für dieses Meta funktionieren , je nachdem, welches höher ist.
Testfälle
1: 1/1
2: 3/2 (1/1 + 1/2)
3: 11/6 (1/1 + 1/2 + 1/3)
4: 25/12 etc.
5: 137/60
6: 49/20
20: 55835135/15519504
56: 252476961434436524654789/54749786241679275146400
226: 31741146384418617995319820836410246588253008380307063166243468230254437801429301078323028997161/5290225078451893176693594241665890914638817631063334447389979640757204083936351078274058192000
Testfallgenerierung (Python 3)
import fractions
def f(x):
return sum(fractions.Fraction(1,i) for i in range(1,x+1))
Ähnlich wie diese Herausforderung und diese Herausforderung .
Zähler sind OEIS A001008 und Nenner sind OEIS A002805 .
gcd
eine "eingebaute Funktion", wenn Ihre Sprache es bietet?
gcd
und andere eingebaute Funktionen sind in Ordnung. Rationale / gebrochene Typen sind nicht zulässig.