Hãy xác định một ngôn ngữ đơn giản hoạt động trên một giá trị 8 bit. Nó định nghĩa ba thao tác bitwise (giải thích mã giả định biến 8 bit value
):
!
Phủ định bit ít quan trọng nhất (value ^= 1
)<
Gói dịch chuyển trái (value = value << 1 | value >> 7
)>
gói dịch chuyển sang phải (value = value >> 1 | value << 7
)
Đầu vào:
Hai số 8 bit, a và b . Vì chúng là 8 bit, bạn có thể thay thế chúng làm ký tự.
Đầu ra:
Cách ngắn nhất để đi từ a đến b, với ba thao tác được xác định ở trên. Bạn có thể trả về một chuỗi hoặc một mảng các ký tự hoặc xác định một giá trị không đổi, riêng biệt cho mỗi thao tác và trả về một mảng trong số đó (vâng, bạn cũng có thể nói <
phương tiện >
và >
phương tiện<
), nhưng vui lòng giải thích định dạng đầu ra của bạn trong câu trả lời của bạn.
Nếu có nhiều cách, dài bằng nhau, bạn có thể xuất bất kỳ hoặc tất cả chúng.
Quy tắc:
- Bạn có thể gửi một chương trình hoặc chức năng
- Sơ hở tiêu chuẩn dụng
- Việc gửi với ít byte nhất trong mỗi ngôn ngữ sẽ thắng (không có câu trả lời nào được chấp nhận)
Các giải pháp mà không có vũ lực (hoặc ít nhất là không chỉ cưỡng bức) có thể giúp tôi tăng cường.
Các trường hợp thử nghiệm:
12, 13 => '!'
1, 2 => '<'
254, 253 => '<'
5, 5 => ''
98, 226 -> '<!>'
64, 154 -> '!>!>>>!>'
177, 164 -> '!>>!>>>!'
109, 11 -> '>>!>!>>'
126, 92 -> '!>!>!>!<' or '!>!>>!<!'
26, 85 -> '<!<<!<!<' or '<!<<!<!>' or '<!<<<!>!'
123, 241 -> '!>!<<!' or '>!<!<!'
236, 50 -> '<<!<!>' or '<<<!>!'
59, 246 -> '<<!>'
132, 95 -> '!<<!<!<!'
74, 53 -> '!>>>!>!'
171, 127 -> '<<!<<!<'
109, 141 -> '!>>>'
185, 92 -> '!>'
166, 201 -> '!<!>>>' or '<!>!>>'
77, 155 -> '<!'
124, 181 -> '!<<<<!>>' or '!>>>>!>>'
108, 85 -> '!<<<!<!<!<' or '!<<<!<!<!>' or '!<<<!<<!>!' or '!>>>!>!>!<' or '!>>>!>!>!>' or '!>>>!>>!<!'
185, 144 -> '<!<<!<!'
70, 179 -> '<<<!<!>' or '<<<<!>!' or '>>>>!>!'
Đây là một chương trình để tạo ra một vài nữa.