Sono un musicista e ho bisogno di più poliritmi nella mia vita!
Un poliritmo si verifica nella musica (e in natura) quando due eventi (battiti di mani, note, lucciole che lampeggiano ecc.) Si verificano a due diversi intervalli regolari. I due tipi di eventi si verificano un numero diverso di volte nello stesso intervallo.
Se tocco due volte con la mano sinistra e 3 volte con la mano destra, nello stesso lasso di tempo, è un po 'così:
------
R . . .
L . .
I trattini in alto indicano la lunghezza del pattern poliritmico, che è il minimo comune multiplo o 2 e 3. Questo può essere inteso come il punto in cui il pattern si ripete.
C'è anche un 'metaritmo', che è il modello prodotto quando una delle due mani sta toccando:
------
R . . .
L . .
M . ...
Questo è un poliritmo semplice e molto comune, con un rapporto di 3: 2.
Diciamo solo che non voglio fare un semplice poliritmo che posso elaborare nella mia testa, quindi ho bisogno di qualcosa per risolverlo per me. Potrei farlo a lungo su carta, o ...
Regole:
- Scrivi del codice per generare e visualizzare un diagramma poliritmico, come descritto sopra.
- Qualsiasi vecchia lingua, prova per il minor numero di byte.
- Il tuo codice accetta due argomenti:
- Numero di tocchi con la mano sinistra (numero intero positivo)
- Numero di tocchi con la mano destra (numero intero positivo)
- Elaborerà la lunghezza, che è il minimo comune multiplo per i due argomenti.
- La riga superiore sarà composta da due caratteri spazi bianchi seguiti da trattini che visualizzano la lunghezza (lunghezza * '-')
- La seconda e la terza riga mostreranno lo schema delle mani destra e sinistra:
- Inizierà con una R o una L, indica la mano che è, seguita da uno spazio.
- L'intervallo per quella mano è la lunghezza divisa per il suo argomento.
- I tocchi inizieranno al terzo carattere, indicato da qualsiasi personaggio tu scelga. Da quel momento in poi verranno visualizzati gli stessi caratteri "intervallo".
- Non sarà più lungo della linea di lunghezza.
- La quarta riga è il metaritmo:
- Inizierà con una M maiuscola, seguita da uno spazio.
- Dal terzo carattere in poi, mostrerà un personaggio (qualsiasi personaggio tu scelga) in ogni posizione in cui è presente un tocco sulla mano destra o sinistra.
- Lo spazio bianco finale è irrilevante.
Casi 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 ........
Buon golf!
re lcome due valori separati? Potremmo invece accettare una matrice a due elementi, ad esempio? Che ne dici dell'ordine di questi, è rigorosamente rseguito da l?