Các chữ số 7 đoạn có thể được biểu diễn trong ASCII bằng các _|
ký tự. Dưới đây là các 1
chữ số kích thước :
_ _ _ _ _ _ _ _
| _| _| |_| |_ |_ | |_| |_| | |
| |_ _| | _| |_| | |_| _| |_|
Kích thước lớn hơn được hình thành bằng cách làm cho mỗi phân khúc dài hơn tương ứng. Dưới đây là một vài kích thước 3 chữ số.
___ ___ ___ ___ ___ ___ ___
| | | | | | | | | |
| | | | | | | | | |
|___| |___ | |___ ___| | | |___|
| | | | | | | | | |
| | | | | | | | | |
|___| |___| | ___| ___| |___| ___|
Mục tiêu
Trong thử thách này, bạn phải viết một chương trình / hàm có thể lấy một chữ số làm đầu vào và xác định kích thước của nó. Bắt: nếu đầu vào không phải là một chữ số hợp lệ, thì chương trình của bạn sẽ xuất ra 0
.
Đây là mã golf , ít byte nhất thắng.
Bạn có thể viết chương trình hoặc hàm, có thể nhận chữ số dưới dạng STDIN hoặc đối số và in / trả về giá trị.
Các chữ số sẽ được cung cấp dưới dạng một chuỗi nhiều dòng, được đệm với số lượng khoảng trắng nhỏ nhất cần thiết để biến nó thành một hình chữ nhật hoàn hảo. Dòng mới theo dõi là một phần tùy chọn của đầu vào. Sẽ không có không gian hàng đầu không cần thiết.
Khi một chữ số không được thông qua, nó vẫn sẽ bao gồm các _|
ký tự, được đệm vào một hình chữ nhật và không có khoảng trắng ở đầu không cần thiết. Sẽ không có dòng trống. Bạn sẽ không phải đối phó với đầu vào trống.
Đầu ra phải là một số nguyên không âm duy nhất, với dòng mới tùy chọn. Nếu đầu vào không phải là một chữ số thích hợp của bất kỳ kích thước, đầu ra 0
. Khác, đầu ra kích thước.
Dưới đây là một hướng dẫn hữu ích cho chiều rộng và chiều cao của mỗi chữ số cho một kích thước nhất định 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
Ví dụ I / O
Trong:
__
|
__|
|
__|
Ngoài:
2
Trong:
|
|
|
Ngoài:
0 //because it is of an invalid height. Either 1 char too short or tall.
Trong:
| |
| |
| |
|____|
|
|
|
|
Ngoài:
4
Trong:
___
|
|___
| |
|___|
Ngoài:
0 //1 char too wide
Trong:
_
|_|
| |
Ngoài:
0 //it's not a digit
Trong:
__
|
|__
|
__|
Ngoài:
2
Trong:
_ _
_| _|
|_ _|
Ngoài:
0 //both would be valid individually, but input should be a *single* digit
Trong:
_
|_|
|_|
Ngoài:
1
Trong:
|
|
Ngoài:
1
Trong:
__|_
|
_ |
_
|__
Ngoài:
0
Đây là xấp xỉ nghịch đảo của số Transform thành mẫu hiển thị 7 đoạn , từ 3 năm trước.
0
chữ số kích thước , phải không? Trừ khi bạn nghĩ ra một cách để vẽ chúng.