In einer Liste mit Akkorden werden sie entweder als "Dur" oder "Moll" bezeichnet.
Eingang
Die Eingabe erfolgt in einer Liste von Akkorden, einer pro Zeile, die aus drei durch ein Leerzeichen getrennten Noten besteht. Jede Note besteht aus dem Namen der Note in Großbuchstaben ( A
- G
) und einem optionalen Versehen ( #
oder b
). Akkorde können in beliebiger Umkehrung sein (dh die Noten können in beliebiger Reihenfolge sein).
Ausgabe
Wenn der Akkord Dur ist, geben Sie 'Dur' aus. Wenn der Akkord moll ist, geben Sie 'Minor' aus. Wenn der Akkord weder Dur noch Moll ist, geben Sie eine leere Zeile aus.
Beispiel
Eingang
C E G
F Ab C
C Eb Gb
E G B
Db F Ab
Bb G D
D A Gb
Ausgabe
Major
Minor
Minor
Major
Minor
Major
Testskripte
Wie in einigen meiner früheren Fragen habe ich auch hier einige Testskripte geschlachtet, die ursprünglich von Joey und Ventero erstellt wurden , um einige Testfälle für diese Frage bereitzustellen:
Verwendung: ./test [your program and its arguments]
Belohnung
Jeder Beitrag, bei dem ich nachprüfen kann, ob er der Spezifikation entspricht, die Tests besteht und offensichtlich einen Golfversuch unternommen hat, wird von mir positiv bewertet (bitte geben Sie Ihre Antwort an). Die kürzeste Lösung bis zum Ende des 13.10.2012 wird als Sieger anerkannt.
Eine kleine Theorie
Für diejenigen unter Ihnen, die keine Kenntnisse der Musiktheorie haben, sind hier genügend Informationen, damit Sie am Wettbewerb teilnehmen können.
Ein Dur- oder Moll-Akkord besteht aus drei Noten, die durch ein bestimmtes Halbtonmuster voneinander getrennt sind. Wenn wir den Grundton des Akkords als 0 betrachten, ist ein Dur-Akkord das Muster 0-4-7 und ein Moll-Akkord das Muster 0-3-7. Die Sache wird durch die Tatsache, dass einige Noten einen Halbton voneinander entfernt sind und andere einen Ton voneinander entfernt. Die Verteilung der Halbtöne von Ab
- G#
ist wie folgt:
G#/Ab A A#/Bb B/Cb B#/C C#/Db D D#/Eb E/Fb E#/F F#/Gb G G#/Ab
0 1 2 3 4 5 6 7 8 9 10 11 12
G#/Ab
bedeutet, dass dies G#
die gleiche Note ist wie Ab
. Daraus können wir ersehen, dass der Akkord Ab C Eb
ein Dur-Akkord ist, und das Ab Cb Eb
ist Moll.
Erschwerend weiter zählt, der Akkord Eb Cb Ab
gilt das gleiche wie zu sein Ab Cb Eb
, Cb Eb Ab
und Cb Ab Eb
und so weiter. Jede dieser Variationen ist immer noch ein Mollakkord.