Il conteggio è un semplice sistema di conteggio che funziona nella base 5. Esistono diversi sistemi di conteggio utilizzati in tutto il mondo, ma quello utilizzato nella maggior parte dei paesi di lingua inglese è forse il più semplice: contare le unità contrassegnando le linee verticali, quindi per ogni 5 ° segno inserisce una linea orizzontale attraverso la precedente raccolta di quattro. Questo raggruppa i segni di conteggio in gruppi di 5 (e li rende più facili da contare rapidamente).
Stai per scrivere un programma che visualizza i segni di conteggio fino a un determinato valore. Ma contare solo nella base 5 è noioso! Pertanto, il tuo programma dovrebbe anche essere in grado di visualizzare i conteggi in diverse basi.
Ingresso
L'input sarà uno o due valori interi non negativi separati da una virgola (ad esempio 9o 8,4). Il primo numero è il valore che dovrebbe essere visualizzato dal conteggio. Il secondo valore è la base del conteggio. Se il secondo valore non viene fornito, utilizzare la base 5 .
Produzione
L'output sarà il valore immesso rappresentato come tally art ASCII. Ecco alcuni esempi su cui puoi testare il tuo programma: il tuo output dovrebbe corrispondere esattamente a loro!
Input: 12o12,5
| | | | | | | | | |
-+-+-+-+- -+-+-+-+- | |
| | | | | | | | | |
Ingresso: 7,3
| | | | |
-+-+- -+-+- |
| | | | |
Ingresso: 4,2
| |
-+- -+-
| |
Input: 6,1o 6,10(notare gli spazi iniziali)
| | | | | |
| | | | | |
| | | | | |
Si noti inoltre che la base 1 è considerata incoerente: devono essere utilizzate solo linee verticali.
Se uno dei valori immessi è 0, non dovrebbe esserci alcun output (e il tuo programma dovrebbe terminare con grazia).
Regole
- Questo è code-golf , quindi vince l'implementazione corretta (in byte) più breve.
- L'input / output può essere su qualsiasi supporto adatto (es. Stdin / stdout, file ...).
- L'input può essere sotto forma di più argomenti della riga di comando o separato da spazi, ecc. Se è più adatto alla lingua di destinazione.
- Le nuove righe finali sono consentite nell'output. Gli spazi finali non lo sono. Questa regola si applica solo quando c'è un output (cioè non quando il valore immesso è 0).
- Il codice deve essere impostato sulla base 5 per impostazione predefinita quando non viene inserita alcuna base.
-+-rappresenterebbe due, perché c'è una linea verticale e un punteggio orizzontale attraverso di essa. La base 1 avrebbe solo linee verticali. @AndoDaan ammended.
--- --- --- --- --- ---allora. Per coerenza con le altre basi, dovresti eseguire uno sciopero orizzontale attraverso b-1linee verticali. Se si intende che sia incoerente, è necessario dichiararlo esplicitamente.
6,1apparire più simile-+- -+- -+- -+- -+- -+-?