Đây là một cảnh sát và tên cướp nếu bạn không quen với định dạng, nhấp vào thẻ để truy cập wiki. Sẽ không có chủ đề của tên cướp cho câu hỏi này.
Cảnh sát
Nhiệm vụ của bạn là Cops là chọn hai chuỗi từ Bách khoa toàn thư trực tuyến về trình tự số nguyên và viết chương trình lấy phần tử thứ n của một chuỗi làm đầu vào và xuất phần tử thứ n của chuỗi thứ hai. Sau đó, bạn thực hiện một câu trả lời bao gồm mã và bỏ qua các chuỗi đã chọn. Những tên cướp sẽ cố gắng tìm các chuỗi bạn đã chọn và nếu một người quản lý để tìm các chuỗi bạn có trong tâm trí hoặc một số trình tự khác mà chương trình của bạn, bạn phải đánh dấu câu trả lời của mình là Cracked . Nếu một tên cướp thông báo cho bạn một vết nứt mà bạn tin là không hợp lệ, bạn có thể đưa ra một bằng chứng rằng đó không phải là vết nứt. Nếu không bạn phải đánh dấu nó như vậy.
Theo các câu trả lời thông thường đã được giải mã trong 7 ngày, đủ điều kiện để được đánh dấu an toàn. Một cảnh sát có thể đánh dấu câu trả lời của họ là an toàn bằng cách tiết lộ các trình tự mà họ có trong tâm trí. Một khi an toàn một câu trả lời có thể không còn bị nứt.
Mục tiêu là để giảm thiểu số byte của chương trình của bạn trong khi vẫn không bị khóa.
Thí dụ
Mã Python sau đây dịch phần tử thứ n của A000290 (số vuông) thành A000217 (số tam giác):
lambda x:sum(range(0,int(x**.5+1)))
Quy định và yêu cầu
Nếu bạn chọn một chuỗi chưa được chứng minh là hữu hạn, bạn phải xuất tất cả các thuật ngữ có thể tồn tại không chỉ các thuật ngữ được liệt kê trên trang OEIS
Là một ngoại lệ đối với các ngôn ngữ quy tắc trước đó mà không có số nguyên chính xác vô hạn, không phải xuất hoặc nhập số ngoài phạm vi của chúng.
Kích thước của chuỗi đầu vào của bạn không được chứng minh là nhỏ hơn chuỗi đầu ra.
Chuỗi đầu vào của bạn không được có bất kỳ yếu tố lặp lại nào (nếu không thì nhiệm vụ này là không thể)
OEIS bao gồm một chỉ mục trên trang của họ (số đầu tiên sau tiêu đề "OFFSET") theo mặc định, đây là phần bù của bạn cho n (n bằng chỉ mục cho phần tử đầu tiên trên chuỗi) nếu bạn chọn một chỉ mục khác bạn phải chỉ ra như vậy trong câu trả lời của bạn.
Nếu bạn chọn một phần bù khác với phần được liệt kê trên OEIS, bạn vẫn phải ánh xạ tất cả các phần tử trong chuỗi đầu vào của mình sang phần tử tương ứng trong chuỗi đầu ra của bạn.
Nếu chương trình của bạn nhận được một đầu vào không nằm trong chuỗi đầu vào, nó có thể làm bất cứ điều gì nó muốn (hành vi không xác định). Tuy nhiên, nó có thể là lợi ích tốt nhất của bạn cho nó vẫn xuất ra một số nguyên.
Thật không thể tin được khi cố tình làm cho mã của bạn khó chạy, bằng cách làm cho nó tốn thời gian để thực thi hoặc thông qua lựa chọn ngôn ngữ không miễn phí . Trong khi tôi sẽ thi hành cái sau, tôi không thể thực thi cái trước một cách khách quan. Tuy nhiên, tôi cầu xin bạn, vì niềm vui, không cố gắng trước vì nó làm cho thử thách trở nên khó khăn hơn đối với những người có máy tính yếu hơn.
Cướp
Nhiệm vụ của bạn là Robbers là chọn các câu trả lời không bị bẻ khóa, không an toàn và tìm các chuỗi mà chúng ánh xạ giữa. Nếu bạn tìm giải pháp một giải pháp hoạt động (không nhất thiết là giải pháp dự định của Cảnh sát), hãy bình luận các trình tự về câu trả lời thích hợp.
Những tên cướp không nên lo lắng nhiều về việc xác minh rằng hai chuỗi cụ thể là một giải pháp, một người nên đăng một giải pháp nếu nó phù hợp với tất cả các mục trên OEIS. Nếu đó không phải là trình tự mà một cảnh sát có trong đầu, cảnh sát có thể đưa ra một bằng chứng rằng nó không chính xác hoặc đánh dấu nó là bị bẻ khóa nếu họ không thể tìm thấy.