Je suis musicien et j'ai besoin de plus de polyrythmies dans ma vie!
Un polyrythmie se produit dans la musique (et dans la nature) lorsque deux événements (applaudissements, notes, lucioles clignotantes, etc.) se produisent à deux intervalles réguliers différents. Les deux types d'événements se produisent un nombre différent de fois dans le même intervalle.
Si je tape avec ma main gauche deux fois, et avec ma main droite 3 fois, dans le même espace de temps, cela ressemble un peu à ceci:
------
R . . .
L . .
Les tirets en haut indiquent la longueur du motif polyrthmique, qui est le plus petit commun multiple ou 2 et 3. Cela peut être compris comme le point auquel le motif se répète.
Il y a aussi un `` rythme rythmique '', qui est le motif produit lorsque l'une des mains tape:
------
R . . .
L . .
M . ...
Il s'agit d'un polyrythmie simple et très courant, avec un rapport de 3: 2.
Disons simplement que je ne veux pas faire un polyrythmie simple que je peux travailler dans ma tête, j'ai donc besoin de quelque chose pour le faire pour moi. Je pourrais le faire en long sur papier, ou ...
Règles:
- Écrivez du code pour générer et afficher un diagramme de polyrythmie, comme décrit ci-dessus.
- N'importe quelle langue ancienne, essayez le moins d'octets.
- Votre code prend deux arguments:
- Nombre de tapotements avec la main gauche (entier positif)
- Nombre de tapotements avec la main droite (entier positif)
- Il calculera la longueur, qui est le plus petit commun multiple pour les deux arguments.
- La ligne du haut sera composée de deux caractères blancs suivis de tirets affichant la longueur (longueur * '-')
- Les deuxième et troisième lignes montreront le motif pour les mains droite et gauche:
- Il commencera par un R ou un L, indiquez de quelle main il s'agit, suivi d'un espace.
- L'intervalle pour cette main est la longueur divisée par son argument.
- Les tapotements commenceront au troisième caractère, indiqué par n'importe quel caractère que vous choisissez. A partir de là, il affichera les mêmes caractères «intervalle» de caractère.
- Il ne sera pas plus long que la ligne de longueur.
- La quatrième ligne est le métarythme:
- Il commencera par un majuscule M, suivi d'un espace.
- À partir du troisième personnage, il affichera un personnage (n'importe quel personnage que vous choisissez) dans chaque position où il y a un tap sur la main droite ou la main gauche.
- L'espace de fuite n'est pas pertinent.
Cas de test:
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 ........
Bon golf!
ret lcomme deux valeurs distinctes? Pourrions-nous accepter un tableau à deux éléments à la place, par exemple? Qu'en est-il de leur ordre, est-ce strictement rsuivi l?