Ben müzisyenim ve hayatımda daha fazla çok terime ihtiyacım var!
Müzikte (ve doğada) iki olay (alkışlar, notalar, yanıp sönen ateş böcekleri vb.) İki farklı düzenli aralıkta meydana geldiğinde bir çoklu ritim oluşur. İki tür olay aynı aralıkta farklı sayıda gerçekleşir.
Sol elimle iki kez ve sağ elimle 3 kez aynı zamanda dokunursam, biraz şöyle görünür:
------
R . . .
L . .
Üst kısımdaki tireler, en düşük ortak kat veya 2 ve 3 olan politmik desenin uzunluğunu gösterir. Bu, desenin tekrarlandığı nokta olarak anlaşılabilir.
Ayrıca, her iki elden dokunulduğunda üretilen model olan bir 'metaritm' vardır:
------
R . . .
L . .
M . ...
Bu, 3: 2 oranı ile basit ve çok yaygın bir çok ritimdir.
Diyelim ki kafamda çalışabileceğim basit bir çoklu ritim yapmak istemiyorum, bu yüzden benim için çalışacak bir şeye ihtiyacım var. Kağıt üzerinde uzun formda yapabilirim, ya da ...
Kurallar:
- Yukarıda açıklandığı gibi, bir çoklu ritim diyagramı oluşturmak ve görüntülemek için bir kod yazın.
- Herhangi bir eski dil, en az bayt için deneyin.
- Kodunuz iki argüman alır:
- Sol elle dokunma sayısı (pozitif tamsayı)
- Sağ elle dokunma sayısı (pozitif tamsayı)
- İki argüman için en küçük ortak kat olan uzunluğu hesaplayacaktır.
- Üst satırda iki boşluk karakteri ve ardından uzunluğu gösteren kısa çizgiler (uzunluk * '-') oluşacaktır.
- İkinci ve üçüncü çizgiler sağ ve sol eller için paterni gösterecektir:
- Bir R veya L ile başlayacak, hangi el olduğunu ve ardından bir boşluk gösterecektir.
- Bu elin aralığı, uzunluğunun argümanına bölünmesidir.
- Musluklar, seçtiğiniz herhangi bir karakterle gösterilen üçüncü karakterden başlar. O andan itibaren aynı karakter 'aralık' karakterlerini birbirinden ayıracaktır.
- Uzunluk çizgisinden daha uzun olmayacaktır.
- Dördüncü satır metaritm:
- Bir büyük harf M ve ardından bir boşluk ile başlayacaktır.
- Üçüncü karakterden itibaren, sağ veya sol elin dokunduğu her pozisyonda bir karakter (seçtiğiniz herhangi bir karakter) gösterecektir.
- Sondaki boşluk önemsizdir.
Test senaryoları:
r = 3, l = 2
------
R . . .
L . .
M . ...
r = 4, l = 3
------------
R . . . .
L . . .
M . .. . ..
r = 4, l = 5
--------------------
R . . . .
L . . . . .
M . .. . . . ..
r = 4, l = 7
----------------------------
R . . . .
L . . . . . . .
M . . .. . . . .. .
r = 4, l = 8
--------
R . . . .
L ........
M ........
Mutlu golf!
rve liki ayrı değerler olarak? Bunun yerine iki elemanlı bir diziyi kabul edebilir miyiz? Bunların sırası nasıl olur, bunu kesinlikle rtakip eder lmi?