Công việc của bạn là tạo ra khoảng thời gian lặp dài nhất , trong đó độ dài của mỗi chương trình trong chuỗi được giới hạn bởi 500 byte.
Đó là, nếu bạn lặp lại các bước sau:
- Bắt đầu với chương trình ban đầu của bạn
- Chạy chương trình hiện tại
- Quay trở lại bước 2
Cuối cùng bạn sẽ quay lại chương trình ban đầu của bạn. Số lượng chương trình trong chu kỳ là điểm số của bạn, mà bạn đang cố gắng tối đa hóa.
Không có chương trình nào có thể gây ra bất kỳ lỗi nào. Mỗi chương trình cũng phải được chạy theo cùng một cách (ví dụ: không có phiên bản, cách triển khai, tùy chọn trình biên dịch, nền tảng, v.v.) khác nhau (EDIT: Có, bất kỳ trạng thái bên ngoài nào như trình tạo số ngẫu nhiên giả được đưa vào cuối cùng câu lệnh. Trạng thái bên ngoài phải được "đặt lại" sau mỗi lần chạy. Nếu bạn sử dụng các số ngẫu nhiên thực sự, trường hợp xấu nhất được giả định.)
Điều tách biệt thách thức này với quine lặp lại trong khoảng thời gian dài nhất (ngoài 100 so với 500) là mọi chương trình trong chu trình cũng phải từ 500 byte trở xuống. Điều này có nghĩa là chu kỳ dài nhất có thể là (256 ^ 501 - 1) / 255 trở xuống. Tất nhiên đó là một con số lớn, nhưng không lớn về mặt tính toán cần bao nhiêu mã. Vì vậy, thách thức là về việc sử dụng càng nhiều khả năng (256 ^ 501 - 1) / 255 càng tốt, chứ không phải là một thử thách hải ly bận rộn.
Các chương trình không được phép truy cập mã nguồn của chính nó. Tuy nhiên, một chương trình trống được cho phép nếu bạn muốn (miễn là bạn tuân theo các quy tắc khác).
Vì việc kiểm tra các chương trình theo cách thủ công sẽ khó khăn, bạn có thể tìm ra điểm số bằng các phương pháp lý thuyết. Bạn phải bao gồm một lời giải thích về điểm số và tính chính xác với chương trình của bạn. Nếu bạn không thể tìm ra điểm số, thay vào đó, bạn có thể sử dụng giới hạn dưới của số lượng chương trình trong chu kỳ làm điểm số defacto. Bạn được phép cập nhật thông tin này khi bạn tìm thấy giới hạn dưới tốt hơn hoặc nếu bạn tìm thấy điểm thực tế chính xác.
Đây là thử thách mã , vì vậy điểm số cao nhất sẽ thắng!
EDIT: Bạn nên viết điểm của bạn trong ký hiệu khoa học, để câu trả lời dễ so sánh hơn. Hoàn toàn tốt khi có các hình thức khác của điểm số, đặc biệt là nếu chúng rõ ràng hơn được kết nối với chương trình của bạn. Ngoài ra, độc giả được khuyến khích chỉnh sửa các câu trả lời trước để tuân thủ điều này.