Sandbox đăng ở đây .
Tạo một hàm hoặc chương trình "Springifying" một chuỗi.
- Đầu vào sẽ là một chuỗi trong Stdin hoặc thay thế gần nhất
- Đầu vào sẽ chỉ chứa ASCII có thể in và / hoặc dấu cách
- Đầu ra sẽ là Stdout, hoặc thay thế gần nhất
- Một dòng mới và dấu cách được chấp nhận
Làm thế nào để lò xo chuỗi
- Định dạng Chuỗi thành nhiều cuộn lò xo ASCII nếu cần
- Đệm các cuộn dây có khoảng trắng, lên đến cuộn gần nhất
- Đọc các ký tự, theo mùa xuân xung quanh cuộn dây
Đây là một cuộn lò xo ASCII:
#
# ####
# #
# ####
#
Trong đó #s là ký tự của Chuỗi
Đây là một ví dụ:
abcdefghijklmnopqrstuvwxyz
trở thành
a
b cdef
g h
i jklm
n
o
p qrst
u v
w xyz.
.
Trường hợp .s thay thế không gian cho tầm nhìn.
Sau đó, chuỗi được đọc trở lại, theo lò xo ASCII trở xuống, xung quanh các vòng, nhấn gvà uhai lần:
1| a <-3
V b cdef
g h
4| i jklm
V n 2->
...
... cho:
abgjklmhfedcginopuxyz vtsrquw (có dấu cách)
Các trường hợp thử nghiệm
(trích dẫn được thêm vào để làm nổi bật không gian dấu - vui lòng bỏ qua về IO)
I: "abcdefghijklmnopqrstuvwxyz"
O: "abgjklmhfedcginopuxyz vtsrquw "
I: "!@#"
O: "!@ # "
I: ""
O: ""
I: "12345 67890"
O: "12690 7 54368 "
I: " "
O: " "
Lưu ý rằng chiều dài đầu ra luôn là bội số của 15, chiều dài của cuộn lò xo
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng.

Vòng lặp chính bắt đầu thực hiện từ phải sang trái, quấn quanh phía bên phải của sân chơi. Đây là nơi chúng ta đọc ký tự đầu tiên từ stdin và chấm dứt nếu đó là EOF.
Phần tiếp theo đảm bảo mọi ký tự EOF được chuyển đổi thành khoảng trắng bằng công thức
Một bản sao của ký tự được lưu vào bộ nhớ tạm thời, và sau đó việc tra cứu chỉ mục hiện tại được thực hiện trên bảng trên dòng bốn (
) để xác định xem ký tự có nên xuất ra hay không.
Nếu nhân vật cần được xuất ra, chúng ta lấy nhánh bên trái. Một trao đổi được thực hiện ở đây để hủy bỏ trao đổi sẽ xảy ra tiếp theo, và sau đó một số 0 được đẩy để buộc chi nhánh phải.
Nếu ký tự không xuất ra, chúng ta trao đổi nó xuống ngăn xếp bên dưới bộ đếm chỉ mục (đây là trao đổi bị hủy ở nhánh bên trái). Và trong cả hai trường hợp, chúng ta lưu ký tự vào bộ nhớ ở phần bù chỉ số hiện tại, tăng chỉ số và kiểm tra xem nó có lớn hơn 13.
Nếu không, chúng ta đọc ký tự tiếp theo từ stdin và lặp lại vòng lặp bên trong.
Nếu đúng như vậy, chúng ta sẽ hoàn thành một bộ gồm 14 ký tự, 7 ký tự đầu ra (