Thử thách
Gần đây tôi đã nhận được vào máy tính 8 bit và say mê với hoạt động của chúng và những người khác; do đó, mục tiêu của môn đánh gôn này là tái tạo một phần của Màn hình Woz, được thiết kế bởi Steve Wozniak cho Apple I.
Bạn phải lưu trữ một mảng gồm 22 giá trị thập lục phân với độ rộng hai byte, (giá trị tối thiểu $ 10 , giá trị tối đa $ FF ), sau đó lấy số n của đầu vào. (Thông thường hai ngôn ngữ như Brainfuck có thể có một thời gian khó khăn).
Các đầu vào sẽ đề cập đến nơi trong mảng bắt đầu in và dừng ở đâu; một đầu vào với hành vi được xác định sẽ có giá trị bắt đầu của chúng nhỏ hơn hoặc bằng giá trị kết thúc. Chương trình của bạn sau đó phải có khả năng in mọi giá trị thập lục phân giữa và bao gồm cả các hình lục giác được nhập vào.
Một ví dụ về điều này:
Array
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15
Values
FF F4 B6 D7 40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6 A5
input first num:
04
input second num:
14
40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6
Bây giờ phần thú vị của bài tập này, là bạn có thể sử dụng bất cứ thứ gì bạn muốn để kiểm tra giới hạn của đầu vào của người dùng. Người đầu vào hello
và chương trình của bạn có hành vi không xác định? Nó thoát mà không báo trước? Cả hai đều hợp lệ.
Các quy tắc duy nhất là:
1. Bạn phải bao gồm các giá trị của 22 giá trị thập lục phân như một phần của chương trình trước khi bắt đầu, (không thể yêu cầu người dùng nhập dữ liệu).
2. Đầu ra của các giá trị thập lục phân phải tuân theo định dạng chính xác:
00 FF 00 FF 00
Trailing space, tab hoặc lines là OK. Nhân vật thì không.
3. Chương trình không phải yêu cầu đầu vào bằng một tin nhắn. Để trống "tin nhắn" nếu bạn muốn. Tuy nhiên, người dùng phải nhập các giới hạn hex.
4. Giống như các giá trị của 22 hexadecimals tùy thuộc vào bạn quyết định, bạn phải tạo một chương trình thực sự tìm nạp các giá trị từ bộ lưu trữ, trái ngược với việc bắt chước một chương trình bằng cách in các giá trị. (chẳng hạn như danh sách $ 00 's).
5. n - lượng đầu vào, đề cập đến lượng đầu vào cần thiết cho ngôn ngữ bạn chọn để nhận ra hệ thập lục phân có độ rộng hai byte. ví dụ. (Brainfuck sẽ yêu cầu hai đầu vào trên mỗi hex, làm cho bốn đầu vào cho hai).
Hãy bình luận nếu bạn cần làm rõ.
Đây là mã golf, vì vậy câu trả lời ngắn nhất trong số byte là người chiến thắng.
Bảng xếp hạng
Dưới đây là bảng xếp hạng tạo ra đoạn trích lịch sự của Martin Ender .
Để đảm bảo rằng câu trả lời của bạn hiển thị, vui lòng bắt đầu câu trả lời của bạn bằng một tiêu đề, sử dụng mẫu Markdown sau:
# Language Name, N bytes
nơi N
là kích thước của trình của bạn. Nếu bạn cải thiện điểm số của mình, bạn có thể giữ điểm số cũ trong tiêu đề, bằng cách đánh bại chúng thông qua. Ví dụ:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
bởi vì Brainfuck không thể nhận chuỗi 2 ký tự, bạn sẽ cần nhập byte đầu tiên, sau đó là chuỗi thứ hai cho giá trị đầu tiên và sau đó thực hiện lại cho giá trị thứ hai, tổng cộng 4 đầu vào. Họ có thể được nhiều như bạn muốn.