Вхідні дані
Символ будь-якого тріадного акорду (див. Http://en.wikipedia.org/wiki/Chord_(music)#Triads ).
Вихідні дані
Ноти, що складають даний акорд.
Приклади
Вхід: AM
Вихід:A C# E
Вхід: C#m
Вихід:C# E G#
Вхід: Db+
Вихід:C# F A
Вхід: C0
Вихід:C D# F#
Бонуси
-50, якщо ви також можете мати справу з сьомими акордами
-150 для насправді відтворення звуку акорду
-150 для використання символів для друку, щоб показати, як грати акорд на піаніно; приклад для AM
:
┌─┬─┬┬─┬─┬─┬─┬┬─┲┱─┬─┬─┲━┱┬─┲━┱─┬─┬┬─┬┬─┬─┐
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ │ ││ │ │ │ ││ ┃┃ │ │ ┃ ┃│ ┃ ┃ │ ││ ││ │ │
│ └┬┘└┬┘ │ └┬┘└┲┛┗┱┘ │ ┗┯┛└┲┛ ┃ └┬┘└┬┘└┬┘ │
│ │ │ │ │ ┃ ┃ │ │ ┃ ┃ │ │ │ │
└──┴──┴──┴──┴──┺━━┹──┴──┴──┺━━┹──┴──┴──┴──┘
-100 для використання символів для друку, щоб показати, як грати акорд на гітарі; приклад для AM
:
x o o o o o
┌───┬───┬───┬───┬───┐
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
├───┼───┼───┼───┼───┤
│ │ █ █ █ │
├───┼───┼───┼───┼───┤
│ │ │ │ │ │
(див. https://en.wikipedia.org/wiki/Box-drawing_character )
Правила
Результатом має бути програма або сценарій командного рядка.
Вхід і вихід можуть бути в будь-якій формі, якщо це відповідає стандарту нотації.
Представлення на гітарі або фортепіано вважається дійсним, якщо і тільки якщо воно містить три (тріадичні) або чотири (сьомі) необхідні ноти і більше нічого. Ця ж нота може бути кілька разів присутня в акорді.
Зовнішні бібліотеки заборонені, за винятком генерації звуку (у такому випадку директиви
#include
,import
... директиви не додаються до числа символів).Це кодовий гольф, виграє найкоротший код!
Трохи теорії музики ...
У сучасній західній тональній музиці кожна октава складається з дванадцяти послідовних нот, які часто відзначаються:
A
A#
B
C
C#
D
D#
E
F
F#
G
G#
Або:
La
La#
Si
Do
Do#
Re
Re#
Mi
Fa
Fa#
Sol
Sol#
У цій системі ми вважаємо, що дві послідовні ноти (наприклад, A
і A#
, або E
і F
) розділені одним півтоном. Крім того, нотатки є своєрідними "цикличними": те, що негайно випливає, G#
це A
.
Акорд складається з кількох (2, 3, 4, іноді і більше) нот, які «добре звучать разом». Наприклад, тріадні акорди містять три різні ноти, а сьомі акорди містять чотири різні ноти.
Давайте визначимо чотири тріадні акорди як:
Основна тріада : містить корінь акорда (у цьому питанні нота, подана як вхідний), головна третина для кореня (на 4 півтони вище кореня) та ідеальна п’ята для кореня (на 7 півтонів вище кореня) ); це можна символізувати 0-4-7
Незначна тріада , символізувала 0-3-7
Посилена тріада , символізувала 0-4-8
Зменшена тріада , символізувала 0-3-6
Так, наприклад, якщо ви хочете зробити мажорну тріаду , відзначили C
, CM
, Cmaj
, вам потрібно буде три відзначили:
- 0: корінь , в даному випадку a
C
- 4: другорядний третій , на 4 півтона вище кореня; це
E
- 7: ідеальна п’ята , на 7 півтонів вище кореня: а
G
Це те 0-4-7
, що 0-3-7
, 0-4-8
і 0-3-6
позначення, використані вище, означають! Для сьомих акордів використовуйте таку схему:
Ось це на сьогодні! Тепер дивуйте мене дивовижним кодом ... Якщо у вас виникли питання, додайте коментарі нижче.
Db+
в Db F A
ньому немає ні D #, ні G. Це, мабуть, трохи більше теорії, ніж потрібно, формули були важливою частиною. Якщо ви дійсно хочете включити всі вісім сьомих акордів, перелічених у Вікіпедії, вам слід вказати вхідні дані. Я вважаю, що випуск фортепіано та гітари ascii-art є гнучким.