Mục tiêu của mã golf này là tạo ra một trình thông dịch cho ngôn ngữ lập trình HQ9 +
Có 4 lệnh trong ngôn ngữ lập trình này:
- H - in "Xin chào, thế giới!"
- Q - in mã nguồn của chương trình
- 9 - in lời bài hát "99 chai bia"
- + - tăng bộ tích lũy
Những quy định:
- Vì bộ tích lũy không được xác định, bạn có thể bỏ qua lệnh +
- Chương trình của bạn sẽ nhắc nhập (đầu vào này sẽ là mã nguồn) hoặc mã nguồn được đọc từ một tệp
- Bạn không được phép đặt lời bài hát "99 chai bia" vào một tệp và đọc văn bản từ tệp
- Bạn không được phép sử dụng thuật toán nén như GZip hoặc BZip để nén văn bản bài hát: bạn phải tạo thuật toán nén của riêng mình. Đây không phải là một thuật toán phức tạp, nhưng hãy cố gắng nén văn bản càng nhiều càng tốt (hãy nhớ: đây là một môn đánh gôn, mã có ít byte nhất sẽ thắng)
- Nếu mã nguồn chứa char không phải là H , Q , 9 hoặc + , thì hãy xuất "Mã nguồn chứa các ký tự không hợp lệ" trước khi chạy bất kỳ lệnh nào! Điều này có nghĩa là, nếu mã nguồn là
H1
ví dụ, thì không xuất raHello, world!
trước khi bạn xuấtSource code contains invalid characters
. Không, đầu ra ngay lập tứcSource code contains invalid characters
- Nếu trình thông dịch của bạn chấp nhận cả ký tự viết hoa và viết thường, thì bạn nhận được -8 cho số ký tự của bạn
Chúc may mắn!