Créez un programme qui prend une longueur et une liste d'intervalles et génère une règle de cette longueur avec des graduations plus longues pour chaque intervalle en utilisant les caractères de dessin au trait ┌ ┬ ┐ │ ╵
- La première ligne de la sortie doit commencer par le tick pour 0 avec
┌
et se terminer par un tick pour la longueur avec┐
, avec un┬
étant utilisé pour chaque caractère entre les deux. Il y aura un total delength
+ 1 caractères de dessin au trait dans cette première ligne. - Un tick doit être allongé verticalement par incréments d'un demi-caractère en utilisant
╵
et en│
fonction des intervalles d'entrée. - Les intervalles sont répertoriés du plus petit au plus grand, par rapport à l'intervalle précédent. Élaborer:
- Le premier intervalle indique le nombre de ticks de base (la première ligne - un caractère par tick) dans le deuxième plus petit intervalle (le plus petit intervalle étant 1). Par exemple, [3] allongera chaque troisième tick d'un demi-caractère.
- Le deuxième intervalle et les intervalles suivants sont en termes du plus petit intervalle suivant. Par exemple, [3, 5] allongera chaque 15ème tick de base d'un caractère complet et [3, 5, 2] allongera chaque 30ème tick de base d'un caractère et demi.
- Un sous-intervalle de 1 est valide et signifie effectivement que les dernières lignes d'intervalle sont allongées par un caractère complet au lieu d'un demi-caractère.
- Les exemples de cas de test devraient aider à clarifier comment cela fonctionne.
Exemples / cas de test
3, []:
┌┬┬┐
9, [3]:
┌┬┬┬┬┬┬┬┬┐
╵ ╵ ╵ ╵
30, [5, 2]:
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ │ ╵ │ ╵ │
32, [4, 2, 2, 2]:
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ │ ╵ │ ╵ │ ╵ │
│ ╵ │
48, [5, 3, 2]
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ ╵ │ ╵ ╵ │ ╵ ╵ │
╵ ╵
24, [7, 3]
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ ╵ │
17, [3, 2, 1]
┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐
│ ╵ │ ╵ │ ╵
╵ ╵ ╵
1, [23, 19, 13, 11, 7, 5, 3, 2, 1]
┌┐
│
│
│
│
╵
Autres règles / notes
- L'entrée et la sortie peuvent utiliser n'importe quel format pratique
- La règle n'a pas à se terminer sur une tique majeure
- La liste d'intervalles peut être vide
- Le tick zéro est toujours dans tous les intervalles.
- Vous pouvez supposer que la longueur et les intervalles de la règle seront toujours des entiers positifs inférieurs à 120
- L'espace de fin est bien, mais pas l'espace de tête.
- Tout espace fixe simple largeur est autorisé comme caractère d'espacement si, pour une raison quelconque, vous souhaitez utiliser autre chose que des espaces ASCII.
Bon golf!