7セグメントの数字は、文字を使用してASCIIで表すことができます_|
。サイズの1
数字は次のとおりです。
_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|
各セグメントを比例的に長くすることにより、より大きなサイズが形成されます。ここにカップルサイズの3桁があります。
___ ___ ___ ___ ___ ___ ___
| | | | | | | | | |
| | | | | | | | | |
|___| |___ | |___ ___| | | |___|
| | | | | | | | | |
| | | | | | | | | |
|___| |___| | ___| ___| |___| ___|
ゴール
この課題では、1桁を入力としてそのサイズを特定できるプログラム/関数を作成します。キャッチ:入力が有効な数字でない場合、プログラムはを出力する必要があります0
。
これはcode-golfであり、バイト数が最も少なくなります。
STDINまたは引数として数字を受け取り、値を出力/返すことができるプログラムまたは関数を作成できます。
数字は、複数行の文字列として提供され、完全な長方形にするために必要な最小限の末尾の空白が埋め込まれます。末尾の改行は、入力のオプション部分です。不要な先行スペースはありません。
数字以外が渡されても、_|
文字で構成され、長方形に埋め込まれ、不要な先行スペースはありません。空白行はありません。空の入力を処理する必要はありません。
出力は、オプションの末尾の改行を含む、単一の非負整数でなければなりません。入力が任意のサイズの適切な数字でない場合、output 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
I / Oの例
に:
__
|
__|
|
__|
でる:
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
これは、3年前からの7セグメント表示パターンへの変換数のほぼ逆数です。
0
桁のようなものは実際にはありません、ありますか?あなたがそれらを描く方法を考えていない限り。