Einführung
Ihre Aufgabe ist es, die ersten 1000 Terme in der fortgesetzten Bruchdarstellung der ziffernweisen Summe aus Quadratwurzel von 2 und Quadratwurzel von 3 zu generieren.
Mit anderen Worten, erstellen Sie genau die folgende Liste (das Ausgabeformat ist jedoch flexibel).
[2, 6, 1, 5, 7, 2, 4, 4, 1, 11, 68, 17, 1, 19, 5, 6, 1, 5, 3, 2, 1, 2, 3, 21, 1, 2, 1, 2, 2, 9, 8, 1, 1, 1, 1, 6, 2, 1, 4, 1, 1, 2, 3, 7, 1, 4, 1, 7, 1, 1, 4, 22, 1, 1, 3, 1, 2, 1, 1, 1, 7, 2, 7, 2, 1, 3, 14, 1, 4, 1, 1, 1, 15, 1, 91, 3, 1, 1, 1, 8, 6, 1, 1, 1, 1, 3, 1, 2, 58, 1, 8, 1, 5, 2, 5, 2, 1, 1, 7, 2, 3, 3, 22, 5, 3, 3, 1, 9, 1, 2, 2, 1, 7, 5, 2, 3, 10, 2, 3, 3, 4, 94, 211, 3, 2, 173, 2, 1, 2, 1, 14, 4, 1, 11, 6, 1, 4, 1, 1, 62330, 1, 17, 1, 5, 2, 5, 5, 1, 9, 3, 1, 2, 1, 5, 1, 1, 1, 11, 8, 5, 12, 3, 2, 1, 8, 6, 1, 3, 1, 3, 1, 2, 1, 78, 1, 3, 2, 442, 1, 7, 3, 1, 2, 3, 1, 3, 2, 9, 1, 6, 1, 2, 2, 2, 5, 2, 1, 1, 1, 6, 2, 3, 3, 2, 2, 5, 2, 2, 1, 2, 1, 1, 9, 4, 4, 1, 3, 1, 1, 1, 1, 5, 1, 1, 4, 12, 1, 1, 1, 4, 2, 15, 1, 2, 1, 3, 2, 2, 3, 2, 1, 1, 13, 11, 1, 23, 1, 1, 1, 13, 4, 1, 11, 1, 1, 2, 3, 14, 1, 774, 1, 3, 1, 1, 1, 1, 1, 2, 1, 3, 2, 1, 1, 1, 8, 1, 3, 10, 2, 7, 2, 2, 1, 1, 1, 2, 2, 1, 11, 1, 2, 5, 1, 4, 1, 4, 1, 16, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 8, 1, 2, 1, 1, 22, 3, 1, 8, 1, 1, 1, 1, 1, 9, 1, 1, 4, 1, 2, 1, 2, 3, 5, 1, 3, 1, 77, 1, 7, 1, 1, 1, 1, 2, 1, 1, 27, 16, 2, 1, 10, 1, 1, 5, 1, 6, 2, 1, 4, 14, 33, 1, 2, 1, 1, 1, 2, 1, 1, 1, 29, 2, 5, 3, 7, 1, 471, 1, 50, 5, 3, 1, 1, 3, 1, 3, 36, 15, 1, 29, 2, 1, 2, 9, 5, 1, 2, 1, 1, 1, 1, 2, 15, 1, 22, 1, 1, 2, 7, 1, 5, 9, 3, 1, 3, 2, 2, 1, 8, 3, 1, 2, 4, 1, 2, 6, 1, 6, 1, 1, 1, 1, 1, 5, 7, 64, 2, 1, 1, 1, 1, 120, 1, 4, 2, 7, 3, 5, 1, 1, 7, 1, 3, 2, 3, 13, 2, 2, 2, 1, 43, 2, 3, 3, 1, 2, 4, 14, 2, 2, 1, 22, 4, 2, 12, 1, 9, 2, 6, 10, 4, 9, 1, 2, 6, 1, 1, 1, 14, 1, 22, 1, 2, 1, 1, 1, 1, 118, 1, 16, 1, 1, 14, 2, 24, 1, 1, 2, 11, 1, 6, 2, 1, 2, 1, 1, 3, 6, 1, 2, 2, 7, 1, 12, 71, 3, 2, 1, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 1, 3, 5, 5, 1, 1, 1, 1, 4, 1, 1, 1, 3, 1, 4, 2, 19, 1, 16, 2, 15, 1, 1, 3, 2, 3, 2, 4, 1, 3, 1, 1, 7, 1, 2, 2, 117, 2, 2, 8, 2, 1, 5, 1, 3, 12, 1, 10, 1, 4, 1, 1, 2, 1, 5, 2, 33, 1, 1, 1, 1, 1, 18, 1, 1, 1, 4, 236, 1, 11, 4, 1, 1, 11, 13, 1, 1, 5, 1, 3, 2, 2, 3, 3, 7, 1, 2, 8, 5, 14, 1, 1, 2, 6, 7, 1, 1, 6, 14, 22, 8, 38, 4, 6, 1, 1, 1, 1, 7, 1, 1, 20, 2, 28, 4, 1, 1, 4, 2, 2, 1, 1, 2, 3, 1, 13, 1, 2, 5, 1, 4, 1, 3, 1, 1, 2, 408, 1, 29, 1, 6, 67, 1, 6, 251, 1, 2, 1, 1, 1, 8, 13, 1, 1, 1, 15, 1, 16, 23, 12, 1, 3, 5, 20, 16, 4, 2, 1, 8, 1, 2, 2, 6, 1, 2, 4, 1, 9, 1, 7, 1, 1, 1, 64, 10, 1, 1, 2, 1, 8, 2, 1, 5, 4, 2, 5, 6, 7, 1, 2, 1, 2, 2, 1, 4, 11, 1, 1, 4, 1, 714, 6, 3, 10, 2, 1, 6, 36, 1, 1, 1, 1, 10, 2, 1, 1, 1, 3, 2, 1, 6, 1, 8, 1, 1, 1, 1, 1, 1, 1, 2, 40, 1, 1, 1, 5, 1, 3, 24, 2, 1, 6, 2, 1, 1, 1, 7, 5, 2, 1, 2, 1, 6, 1, 1, 9, 1, 2, 7, 6, 2, 1, 1, 1, 2, 1, 12, 1, 20, 7, 3, 1, 10, 1, 8, 1, 3, 1, 1, 1, 1, 2, 1, 1, 6, 1, 2, 1, 5, 1, 1, 1, 5, 12, 1, 2, 1, 2, 1, 2, 1, 1, 3, 1, 1, 1, 8, 2, 4, 1, 3, 1, 1, 1, 2, 1, 11, 3, 2, 1, 7, 18, 1, 1, 17, 1, 1, 7, 4, 6, 2, 5, 6, 4, 4, 2, 1, 6, 20, 1, 45, 5, 6, 1, 1, 3, 2, 3, 3, 19, 1, 1, 1, 1, 1, 1, 34, 1, 1, 3, 2, 1, 1, 1, 1, 1, 4, 1, 2, 1, 312, 2, 1, 1, 1, 3, 6, 6, 1, 2, 25, 14, 281, 4, 1, 37, 582, 3, 20, 2, 1, 1, 1, 2, 1, 3, 7, 8, 4, 1, 11, 2, 3, 183, 2, 23, 8, 72, 2, 2, 3, 8, 7, 1, 4, 1, 4, 1, 2, 2, 1, 2, 1, 8, 2, 4, 1, 2, 1, 2, 1, 1, 2, 1, 1, 10, 2, 1, 1, 5, 2, 1, 1, 1, 2, 1, 1, 2, 1, 3, 2, 9]
Herausforderung
Die folgende allgemeine Einführung in die fortgesetzte Fraktion stammt aus der Herausforderung Vereinfachen einer fortgesetzten Fraktion .
Fortgesetzte Brüche sind Ausdrücke, die Brüche iterativ beschreiben. Sie können grafisch dargestellt werden:
Oder sie können als Werteliste dargestellt werden:
[a0, a1, a2, a3, ... an]
Diese Herausforderung besteht darin, den fortgesetzten Bruchteil der ziffernweisen Summe von sqrt(2)
und herauszufinden, wobei die sqrt(3)
ziffernweise Summe wie folgt definiert ist:
Nehmen Sie die Ziffern in der Dezimaldarstellung von sqrt(2)
und sqrt(3)
und erhalten Sie die Summe Ziffer für Ziffer:
1. 4 1 4 2 1 3 5 6 2 3 ...
+ 1. 7 3 2 0 5 0 8 0 7 5 ...
= 2. 11 4 6 2 6 3 13 6 9 8 ...
Behalten Sie dann nur die letzte Ziffer der Summe bei und kompilieren Sie sie zurück zur Dezimaldarstellung einer reellen Zahl
1. 4 1 4 2 1 3 5 6 2 3 ...
+ 1. 7 3 2 0 5 0 8 0 7 5 ...
= 2. 11 4 6 2 6 3 13 6 9 8 ...
-> 2. 1 4 6 2 6 3 3 6 9 8 ...
Die ziffernweise Summe von sqrt(2)
und sqrt(3)
ist daher 2.1462633698...
, und wenn sie mit fortgeführtem Bruch ausgedrückt wird, sind die ersten 1000 erhaltenen Werte (dh bis ) diejenigen, die im Einführungsabschnitt aufgeführt sind.a0
a999
Technische Daten
Sie können eine Funktion oder ein vollständiges Programm schreiben. Weder sollte Eingaben nehmen. Mit anderen Worten, die Funktion oder das Programm sollten ohne Eingaben ordnungsgemäß funktionieren. Es spielt keine Rolle, was die Funktion oder das Programm tut, wenn eine nicht leere Eingabe bereitgestellt wird.
Sie sollten in STDOUT ausgeben. Nur wenn Ihre Sprache die Ausgabe in STDOUT nicht unterstützt, sollten Sie das nächstgelegene Äquivalent in Ihrer Sprache verwenden.
Sie müssen STDERR nicht sauber halten, und das versehentliche Stoppen des Programms ist zulässig, solange die erforderliche Ausgabe in STDOUT oder seinen Entsprechungen erfolgt.
Sie können die Ausgabe über ein beliebiges Standardformular bereitstellen .
Dies ist Code-Golf , die niedrigste Anzahl von Bytes gewinnt.
Wie üblich gelten hier Standardlücken .
quelle
×⁺Ñ
nicht. Alternativ×Ѳ$
.Haskell 207 Bytes
Ich konnte keinen einfachen Weg finden, um den fortgesetzten Bruch faul zu berechnen, also arbeitete ich auch mit 2000 Ziffern.
quelle