Thử thách
Nhiệm vụ của bạn là viết một đoạn mã xuất ra một đoạn mã khác. Mã đó phải lần lượt xuất ra một mã khác cho đến khi mã cuối cùng xuất ra số nguyên 1 . Chuỗi kết thúc lần đầu tiên 1 được xuất ra.
Không có chương trình nào của bạn có thể chia sẻ bất kỳ nhân vật nào (có một ngoại lệ trong phần Quy tắc).
Bài dự thi sẽ là bài nộp với chuỗi dài nhất. Bộ ngắt kết nối sẽ có tổng chiều dài mã ngắn nhất.
Quy tắc:
- Bạn có thể sử dụng cả chức năng, chương trình và đoạn trích. Bạn có thể giả sử một môi trường REPL.
- Tất cả các chức năng phải được viết bằng cùng một ngôn ngữ
- Biểu tượng ngôn ngữ độc lập không được phép. Điều này bao gồm các ngôn ngữ độc lập một phần ký hiệu như Headsecks.
- Định dạng đầu ra mặc định có thể tùy ý bỏ qua trong đầu ra của hàm. Điều này bao gồm các dòng mới,
ans =
vv - Bạn có thể sử dụng lại ký tự khoảng trắng (mã ASCII điểm 32), nhưng lưu ý những điều sau:
- Bạn có thể sử dụng bao nhiêu ký tự khoảng trắng tùy thích trong một trong các chức năng, nhưng hạn chế tối đa 5 ký tự trong tất cả các chức năng khác
- Bạn không được sử dụng lại bất kỳ ký tự nào nếu mã điểm 32 không phải là khoảng trắng trong ngôn ngữ của bạn.
Không có chương trình nào có thể nhận đầu vào
Chuỗi phải dài ít nhất hai chương trình.
Thí dụ:
Mã ban đầu của bạn là abc+cab+bac
. Đầu ra này : foofoo*123
, lần lượt đầu ra disp(~0)
, đầu ra nào 1
. Đây là một chuỗi gồm 3 chương trình, với độ dài kết hợp là 29 (tie breaker).
2^3
, mà sẽ chỉ đánh giá để 1
, hoặc dùng nó phải được ví dụ lambda:2^3
, print(2^3)
vv?
1
thể vừa là chương trình vừa là đầu ra của chương trình đó hoặc chuỗi kết thúc khi nào 1
là đầu ra?