Oh tidak! Saya memiliki ujian teori segera dan saya belum ingat timbangannya! Bantu saya mengingat skala utama saya dengan mencetak yang berikut:
7♯ - C♯ D♯ E♯ F♯ G♯ A♯ B♯ C♯
6♯ - F♯ G♯ A♯ B C♯ D♯ E♯ F♯
5♯ - B C♯ D♯ E F♯ G♯ A♯ B
4♯ - E F♯ G♯ A B C♯ D♯ E
3♯ - A B C♯ D E F♯ G♯ A
2♯ - D E F♯ G A B C♯ D
1♯ - G A B C D E F♯ G
0 - C D E F G A B C
1♭ - F G A B♭ C D E F
2♭ - B♭ C D E♭ F G A B♭
3♭ - E♭ F G A♭ B♭ C D E♭
4♭ - A♭ B♭ C D♭ E♭ F G A♭
5♭ - D♭ E♭ F G♭ A♭ B♭ C D♭
6♭ - G♭ A♭ B♭ C♭ D♭ E♭ F G♭
7♭ - C♭ D♭ E♭ F♭ G♭ A♭ B♭ C♭
Ini kode-golf, jadi kode terpendek menang. Anda dapat menggunakan #
dan b
simbol bukan ♯
dan ♭
masing - masing.
Sunting: Jika Anda menggunakan ♯
dan ♭
menandatangani, Anda hanya perlu menghitungnya masing-masing sebagai byte tunggal. Ini untuk tidak memberikan kerugian yang tidak adil.
code-golf
kolmogorov-complexity
music
ericw31415
sumber
sumber
♭
: begitu banyak untuk font monospace dalam elemen kodeJawaban:
Arang ,
6665 byte (jika menggunakan # dan b)Cobalah online! Tautan adalah untuk mengucapkan versi kode. Penjelasan:
Cetak karakter yang
0
akan7
dibalik, lalu refleksikan dengan tumpang tindih. Daftar biasanya mencetak ke bawah, jadi mencetak ke atas sebenarnya mencetak ke kanan; kami akan memutar semuanya ke tempatnya di akhir.Mulai baris baru dan cetak 7 flat dan 7 benda tajam dengan celah di antaranya.
Biarkan garis kosong dan cetak 15
-
detik.Ambil angka 0 hingga 7, gandakan, tambahkan 1, lalu kurangi modulo 7. Ulangi hasilnya.
Biarkan baris kosong dan kemudian ambil potongan 15 karakter dari string rangkap tiga mulai dari nilai saat ini.
Pada baris berikutnya ambil irisan 15 karakter flat, spasi dan benda tajam, masing-masing diulang 7 kali.
Setelah mencetak semua catatan, putar semuanya ke tempatnya.
sumber
♯
dan♭
sebagai 1 byte masing-masing daripada 3.Ruby , 113 byte (
131 126 108105 dengan # dan b)Cobalah online!
Ruby , 116 byte (108 dengan # dan b)
Cobalah online!
Ruby , 126 byte (118 dengan # dan b)
Cobalah online!
Ruby , 131 byte dengan # dan b
Cobalah online!
sumber
♯
dan♭
sebagai 1 byte masing-masing daripada 3.Python 3 , 135 byte
menghitung ♯ dan ♭ masing-masing 1 byte
terima kasih kepada Zacharý untuk -6 byte.
Cobalah online!
sumber
GNU sed ,
148144 + 1 = 145 byte+1 byte untuk
-r
bendera.Cobalah online!
Penjelasan
Pertama, masukkan template macam:
Perhatikan spasi awal dan akhir di baris pertama.
Dalam satu lingkaran, ambil angka pertama dari baris terakhir dan ganti dengan bagian-bagian dari baris kedua ke terakhir seperti:
Seperti yang Anda lihat, spasi awal (tangkap 2) digunakan untuk mengganti karakter setelah
B
.Ketika
0
tercapai, ganti ruang awal denganb
. Lingkaran berlanjut, tetapi alih-alih mengganti#
s dengan spasi, pada setiap baris selanjutnya spasi diganti dengan ab
.Akhirnya, lakukan sedikit pembersihan: Hapus karakter utama dari setiap baris dan ganti
0b
dengan0
.sumber
Befunge,
134132130 byteCobalah online!
Penjelasan
'0'+abs(row)
(angka skala), dan kemudian menghitung(row>0)+(row!=0)
untuk mencari apakah itu alami, tajam, atau datar dalam tabel#b
(Anda akan melihat ini di awal baris kode ketiga).30 + row*4
. Ini pada akhirnya akan menjadi mod 7, jadi anggap itu sebagai urutan berulang 2,5,1,4,0,3,6 (yaitu CFBEADG).'A' + n%7
. Apakah itu tajam atau datar ditentukan dengan melihat ke atasi%7
di meja. Tabel awalnya semua benar, karena skala pertama adalah semua benda tajam.(offset+3)%7
.sumber
Bubblegum , 107 byte
Ambang permen karet
Cobalah online!
sumber
JavaScript (ES6),
130124 byteAtau
128121 byte dengan baris baru terkemuka.sumber
C,
212189186185 byteTerima kasih kepada @Jonathan Frech karena telah menghemat satu byte!
Cobalah online!
Belum dibuka:
sumber
>-
bisa+
.i=~!printf
alih-alihi=-1,printf
dan\b
bukannya\10
Jelly ,
57 56 5554 byte-1 byte terima kasih kepada EriktheOutgolfer (gunakan
7ŒR
untuk mengganti-7r7
)Program lengkap mencetak output yang diinginkan (menggunakan
#
,b
).Cobalah online!
Bagaimana?
sumber
CJam ,
10910694 byteCobalah online
sumber
Java 8, 255 byte
Menghitung ♯ dan ♭ masing-masing 1 byte.
Penjelasan:
Cobalah online.
sumber