Thách thức của bạn là biến văn bản đầu vào thành mã não sẽ xuất văn bản.
Hướng dẫn lấy từ đây với sự cho phép ở đây
Brain-Flak có hai ngăn xếp, được gọi là 'trái' và 'phải'. Ngăn xếp hoạt động bắt đầu ở bên trái. Nếu một ngăn xếp trống được bật lên, nó sẽ trả về 0. Đó là nó. Không có biến khác. Khi chương trình bắt đầu, mỗi đối số dòng lệnh được đẩy vào ngăn xếp hoạt động.
Các ký tự hợp lệ duy nhất trong chương trình Brain-Flak là ()[]{}<>
và chúng phải luôn được cân bằng. Có hai loại chức năng: Nilads và Monads . Một nilad là một hàm có 0 đối số. Dưới đây là tất cả các con số không:
()
Đánh giá một.[]
Đánh giá chiều cao của ngăn xếp hiện tại.{}
Pop ngăn xếp hoạt động. Đánh giá giá trị popped.<>
Chuyển đổi ngăn xếp hoạt động. Đánh giá bằng không.
Chúng được nối với nhau khi chúng được đánh giá. Vì vậy, nếu chúng tôi có '3' trên đầu ngăn xếp hoạt động, đoạn mã này:
()(){}
sẽ đánh giá 1 + 1 + active.pop()
mà sẽ đánh giá đến 5.
Các đơn vị lấy một đối số, một đoạn mã Brain-Flak. Dưới đây là tất cả các đơn nguyên:
(n)
Nhấn 'n' trên ngăn xếp hoạt động.[n]
Đánh giá âm 'n'{foo}
Trong khi số 0 không nằm trên đỉnh của ngăn xếp, hãy thực hiện foo.<foo>
Thực thi foo, nhưng đánh giá nó là 0.
Các hàm này cũng sẽ trả về giá trị bên trong chúng, vì vậy
(()()())
Sẽ đẩy 3 nhưng
((()()()))
Sẽ đẩy 3 lần .
Các {}
sẽ đánh giá để tổng của tất cả chạy. Vì vậy, nếu chúng ta có '3' và '4' trên đỉnh của ngăn xếp:
{{}}
sẽ đánh giá là 7.
Khi chương trình được thực thi xong, mỗi giá trị còn lại trên ngăn xếp hoạt động sẽ được in, với một dòng mới ở giữa. Các giá trị trên ngăn xếp khác được bỏ qua.
Quy tắc
- Bạn có thể cho rằng Brain-Flak đang được chạy với ascii. (
-A
) - Mã não phải KHÔNG yêu cầu đầu vào
- Tất cả các quy tắc tiêu chuẩn được áp dụng
- Mã phải chạy trong vòng 1 phút cho bất kỳ đầu vào nào lên tới 1024 byte trên TIO. (Nếu không có đầu ra TIO, hãy cung cấp trình thông dịch và tôi sẽ chạy nó trên máy của mình (máy của tôi sẽ có thể đến gần TIO)).
- Bạn phải hỗ trợ đầu vào chiều dài tùy ý.
- Bạn có thể lấy đầu vào từ một tập tin.
- Tối ưu hóa cho các trường hợp thử nghiệm không được phép
- Đầu ra xác định là cần thiết
- Các chương trình không cần phải được dọn sạch
Các trường hợp thử nghiệm (thử mã của bạn về những điều này, các văn bản chấm điểm thực tế sẽ được phát hành sau 1-2 tuần sau khi thử thách được đăng)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
The meaning of brain-flak is to flak your brain with pain.
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
To be, or not to be, that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles
And by opposing end them. To die-to sleep,
No more; and by a sleep to say we die
<your brain-flak code here>
The fitness pacer test is a multi stage test. Avacado Avacado Avacadad Avacadad carrot.bat carrot.jar carrot.carrot Quack Quack Quack Quack Quack Quack Quack Quack Quack downgoat doawngoat down down gaot
This challenge came from a online program that turned text into brain-fuck. However brain-fuck has limitations and it is not nearly as cool as brain-flak. I really am looking forward to cool programs :) I am glad you took the time to read this and look forward to seeing your answer.
Chiến thắng
Để giành chiến thắng, bạn phải cung cấp tổng chiều dài của mã não được cung cấp bởi mỗi trường hợp thử nghiệm sẽ được phát hành 1-2 tuần sau ngày đăng. Tổng chiều dài ngắn nhất chiến thắng.
GHI CHÚ!!!!!!:
Đây không phải là môn đánh gôn , độ dài mã của bạn sẽ không ảnh hưởng đến điểm số cuối cùng của bạn dưới bất kỳ hình thức nào. Làm cho mã sạch có thể đọc được đánh giá cao. Cảm ơn!
Các trường hợp thử nghiệm
<your brain-flak code here>
dưới 1000 được trao tiền thưởng. Mà tôi không thể đăng cho một ngày khác, rất tiếc; đã không nhận thấy làm thế nào mới này.