7-сегментні цифри можуть бути представлені в ASCII за допомогою _|
символів. Ось 1
цифри розміру :
_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|
Більші розміри формуються, роблячи кожен сегмент пропорційно довшим. Ось пара розміром 3 цифри.
___ ___ ___ ___ ___ ___ ___
| | | | | | | | | |
| | | | | | | | | |
|___| |___ | |___ ___| | | |___|
| | | | | | | | | |
| | | | | | | | | |
|___| |___| | ___| ___| |___| ___|
Мета
У цьому виклику ви повинні написати програму / функцію, яка може взяти одну цифру як вхідну і визначити її розмір. Улов: якщо вхід не є дійсною цифрою, то ваша програма повинна вивести 0
.
Це кодовий гольф , найменше виграє байт.
Ви можете написати або програму, або функцію, яка може приймати цифру як STDIN або аргумент, і друкувати / повертати значення.
Цифри надаватимуться як багаторядковий рядок, наповнений мінімальною кількістю пробілів, необхідних для створення ідеального прямокутника. Новий рядок є необов'язковою частиною вводу. Не буде зайвих провідних просторів.
Коли передається нецифрова цифра, вона все ще буде складатися з _|
символів, підкладених до прямокутника, і не матиме зайвих провідних пробілів. Порожніх рядків не буде. Вам не доведеться мати справу з порожнім входом.
Вихід повинен бути одним невід’ємним цілим числом, з необов’язковим зворотним новим рядком. Якщо введення не є належною цифрою будь-якого розміру, виведіть 0
. Ще, виведіть розмір.
Ось зручний посібник щодо ширини та висоти кожної цифри для заданого розміру N
.
Digit Height Width (not counting newlines)
1 2N 1
2 2N+1 N+2
3 2N+1 N+1
4 2N N+2
5 2N+1 N+2
6 2N+1 N+2
7 2N+1 N+1
8 2N+1 N+2
9 2N+1 N+2
0 2N+1 N+2
Приклади вводу / виводу
В:
__
|
__|
|
__|
Вийшов:
2
В:
|
|
|
Вийшов:
0 //because it is of an invalid height. Either 1 char too short or tall.
В:
| |
| |
| |
|____|
|
|
|
|
Вийшов:
4
В:
___
|
|___
| |
|___|
Вийшов:
0 //1 char too wide
В:
_
|_|
| |
Вийшов:
0 //it's not a digit
В:
__
|
|__
|
__|
Вийшов:
2
В:
_ _
_| _|
|_ _|
Вийшов:
0 //both would be valid individually, but input should be a *single* digit
В:
_
|_|
|_|
Вийшов:
1
В:
|
|
Вийшов:
1
В:
__|_
|
_ |
_
|__
Вийшов:
0
Це приблизно зворотне з перетворення числа в 7-сегментний дисплей шаблону , від 3 -х років тому.
0
цифра розміру , чи не так? Якщо ви не придумали спосіб їх намалювати.