Geben Sie ab 1-TET gleiche Temperamente an, die sich immer besser dem perfekten Fünftel annähern (nur Verhältnis 3/2). ( OEIS-Sequenz A060528 )
Die formale Beschreibung der Sequenz, kopiert aus dem OEIS:
Eine Liste gleicher Temperamente (gleiche Teilungen der Oktave), deren nächste Tonleiterschritte immer näher an die Verhältnisse zweier Töne musikalischer Harmonie heranreichen: das perfekte 4., 4/3 und dessen Ergänzung das perfekte 5., 3/2.
Beachten Sie, dass aus Symmetriegründen der perfekte vierte keine Rolle spielt.
Nehmen wir an, wir wissen, dass 3 in der Sequenz ist. Die Frequenzen in 3-TET sind:
2^0, 2^⅓, 2^⅔
Wo 2^⅔
ist die nächste logarithmische Näherung von 3/2
.
Ist 4 in der Sequenz? Die Frequenzen in 4-TET sind:
2^0, 2^¼, 2^½, 2^¾
Wo 2^½
ist die nächste Annäherung von3/2
. Dies ist nicht besser als 2^⅔
, also ist 4 nicht in der Reihenfolge.
Mit einer ähnlichen Methode bestätigen wir, dass 5 in der Sequenz enthalten ist, und so weiter.
Wenn eine Ganzzahl n
als Eingabe angegeben wird, muss die Ausgabe die ersten N Zahlen der Sequenz in der angegebenen Reihenfolge sein. Zum Beispiel, wenn n = 7
die Ausgabe sein sollte:
1 2 3 5 7 12 29
Sequenzbeschreibung von xnor
Die irrationale Konstante kann durch eine Folge rationaler Brüche angenähert werden
Ein Bruch ist in der Sequenz enthalten, wenn es sich um den neuen handelt, der dem absoluten Abstand | am nächsten kommt pdas heißt, näher als jeder andere Bruch mit einem kleineren oder gleichen Nenner.
Ihr Ziel ist es, die ersten Nenner der Reihe nach auszugeben . Dies ist die Sequenz A060528 ( Tabelle ). Die Zähler (nicht erforderlich) sind in A254351 ( Tabelle ) angegeben.
Regeln:
- Importieren Sie die Sequenz A060528 nicht direkt.
Das Format spielt keine Rolle, solange die Zahlen unterscheidbar sind. Im obigen Beispiel kann die Ausgabe auch sein:
[1,2,3,5,7,12,29]
Da dies ein Code-Golf ist, gewinnt der kürzeste Code in Bytes.
quelle
Antworten:
05AB1E ,
1918 BytesProbieren Sie es online aus!
quelle
Wolfram Language (Mathematica) ,
6260 BytesProbieren Sie es online aus!
quelle
JavaScript (V8) ,
818078 Byte-2 Bytes danke Arnauld!
Probieren Sie es online aus!
quelle
Python 2 , 92 Bytes
Probieren Sie es online aus!
3.169925001442312
2 * numpy.log2(3)
quelle
..., 665, (1995), (4655), 8286, ...
Probieren Sie es online aus!2 * numpy.log2(3)
als die vollständig buchstabierte Zahl? (Oder noch bessernumpy.log2(9)
)from numpy import*
undlog2(9)
.package::function
ohnepackage
vorher zu laden !Sauber ,
128111108 BytesProbieren Sie es online aus!
Sollte bis zu den Grenzen des
Real
64-Bit-Typs mit doppelter Genauigkeit funktionieren .quelle
MATL ,
2725 BytesProbieren Sie es online aus!
Erläuterung
quelle
Perl 5 (
-MPOSIX=log2 -M5.01 -n
),73,78, 71 BytesBehoben folgenden Kommentar, kann verbessert werden ...
-7 Bytes dank Grimy
Probieren Sie es online aus!
quelle