Vốn đầu tư 1,5+; 6 không có đầu vào; 10 - 10 = 0 với đầu vào
Sidenote
Tôi đã đọc ở đâu đó [link?] Rằng các ngôn ngữ tùy chỉnh không được phép trong các câu hỏi về golf, vì chúng có thể tạo ra các chức năng tích hợp thực hiện chính xác những gì câu hỏi đang hỏi, tuy nhiên tôi đã tạo ra CAPL để nói chung việc chơi golf dễ dàng hơn . Nếu bạn nghĩ rằng điều này không được phép ở đây, hãy cho tôi biết!
Tôi có một số ý tưởng từ > <> và Befunge (Bạn có thể di chuyển giữa các dòng và sử dụng các ký tự thập lục phân để đẩy số), một số từ Ruby và một số từ chính tôi để giúp việc chơi golf dễ dàng hơn.
CAPL đọc từ trái sang phải và đi xuống một dòng ở cuối dòng. Nếu nó là dòng cuối cùng, chương trình sẽ thoát.
Vì chưa ai biết ngôn ngữ này, tôi sẽ cố gắng giải thích càng nhiều càng tốt.
Xuất ra y. 6 byte
bb*.n<
bb*
b
là hệ thập lục phân cho 11
, vì vậy bb*
là 11*11
= 121
, đó là UTF-8 tương đương y
. Giá trị này được đẩy lên ngăn xếp.
.
Đặt giá trị hàng đầu từ ngăn xếp và xuất ra dưới dạng UTF-8. Như 121
trên đỉnh của ngăn xếp, chỉ mục được bỏ qua ở đây.
n
Xuất ra một dòng mới
<
Gửi con trỏ trở lại đầu dòng, do đó lặp lại dòng đó. Vì chúng tôi không mong đợi đầu vào, chúng tôi có thể làm điều này một cách an toàn mà không yêu cầu lại đầu vào.
Xuất ra từ đầu vào. 10 byte, 0 sau khi thưởng
i~a&{X:.)}
i
Lấy đầu vào từ người dùng, đẩy dưới dạng UTF-8 trên đỉnh của ngăn xếp và đẩy chiều dài sau đó. Tức là [72,101,108,108,111,5]
~
Pops một số từ ngăn xếp, sau đó đảo ngược số lượng byte đó. Tức là [111,108,108,101,72]
a
thập lục phân cho 10
, ký tự dòng mới
&{...}
Tạo một vòng lặp vô hạn. Chúng tôi có đầu vào, vì vậy chúng tôi không thể gửi con trỏ trở lại dòng. Tôi có thể đặt hàm trên dòng bên dưới, điều này sẽ an toàn cho tôi một byte, nhưng các dòng mới không được phép trong thử thách này.
X
Xóa giá trị hàng đầu khỏi ngăn xếp (Chỉ mục từ vòng lặp)
:.
Sao chép giá trị trên cùng, sau đó xuất ra dưới dạng UTF-8
)
Biến chồng phải. ( [1,2,3,4,5]
-> [5,1,2,3,4]
)
Tuy nhiên, điều này có nghĩa là chúng ta bắt đầu với một dòng mới, sau đó bắt đầu xuất ra đầu vào, sau đó là một dòng mới, sau đó là đầu vào, v.v. Nếu chúng ta không được phép bắt đầu với một dòng mới, hãy sử dụng mã sau với 12 byte hoặc 2 sau khi trừ tiền thưởng.
iXa#~&{X:.)}
Lệnh mới duy nhất ở đây là #
, đẩy số lượng vật phẩm trên ngăn xếp lên ngăn xếp.
Tôi đã xóa độ dài từ i
, vì thêm 1, sau đó hoán đổi với dòng mới dài hơn xóa và lấy lại độ dài.
Để giải trí, đây là chương trình "Hello World"
"Hello World"#~
#?!;.<
Các ?!
hoạt động cũng giống như> <> 's
y
hoặc\n
bên trong một chuỗi ký tự"?