Tallying - це проста система підрахунку, яка працює в базі 5. Існують різні різні системи обчислення, які використовуються у всьому світі, але та, яка використовується в більшості англомовних країн, чи не найпростіша - рахувати одиниці шляхом позначення вертикальних ліній, то для на кожну 5-ю марку ставимо горизонтальну лінію через попередню колекцію з чотирьох. Це кластеризує оціночні позначки в групи по 5 (і полегшує їх швидке підрахунок).
Ви збираєтеся написати програму, яка відображає суммарні позначки до заданого значення. Але, розмовляти лише в базі 5 нудно! Тому у вашій програмі також має бути можливість відображати талі в різних базах.
Вхідні дані
Вхідними даними будуть або одне, або два невід’ємних цілих значення, розділених комою (наприклад, 9
або 8,4
). Перше число - це значення, яке повинно відображатися підрахунком. Друге значення - основа підрахунку. Якщо друге значення не вказане, використовуйте базу 5 .
Вихідні дані
Вихідним буде введене значення, представлене як арт-позначки ASCII. Ось кілька прикладів, на яких можна протестувати свою програму - ваш результат повинен точно відповідати їм!
Введення: 12
або12,5
| | | | | | | | | |
-+-+-+-+- -+-+-+-+- | |
| | | | | | | | | |
Вхід: 7,3
| | | | |
-+-+- -+-+- |
| | | | |
Вхід: 4,2
| |
-+- -+-
| |
Введення: 6,1
або 6,10
(зауважте провідні пробіли)
| | | | | |
| | | | | |
| | | | | |
Зауважте також, що основа 1 призначена для непослідовності - слід використовувати лише вертикальні лінії.
Якщо будь-яке з введених значень дорівнює 0, виходу не повинно бути (і ваша програма повинна закінчуватися витончено).
Правила
- Це код-гольф , тому найкоротша правильна реалізація (у байтах) виграє.
- Введення / вихід може бути на будь-якому відповідному носії (наприклад, stdin / stdout, файл ...).
- Введення може бути у вигляді декількох аргументів командного рядка або розділене пробілами тощо, якщо воно більше підходить для вашої цільової мови.
- У висновку дозволено проходження нових рядків. Трейлінг місця не є. Це правило застосовується лише тоді, коли є вихід (тобто не тоді, коли введене значення дорівнює 0).
- Ваш код за замовчуванням повинен бути базовим 5, коли база не вводиться.
-+-
буде представляти два, оскільки через нього є вертикальна лінія і горизонтальна оцінка. База 1 мала б лише вертикальні лінії. @AndoDaan побл.
--- --- --- --- --- ---
значить. Для узгодження з іншими основами слід нанести горизонтальний удар по b-1
вертикальних лініях. Якщо це має бути непослідовно, ви повинні це чітко зазначити.
6,1
вигляд виглядати більше схожим-+- -+- -+- -+- -+- -+-
?