Nhiệm vụ
Trong thử thách này, nhiệm vụ của bạn là viết chương trình bằng ngôn ngữ lập trình L lấy số nguyên dương n và đưa ra tổng các ước số thích hợp của n ( dãy A001065 trên OEIS). Nó sẽ trả về đầu ra chính xác cho bất kỳ 1 ≤ n 10 000 . Dưới đây là 10 đầu ra đầu tiên:
0, 1, 1, 3, 1, 6, 1, 7, 4, 8
Hơn nữa, chương trình của bạn phải là một polyglot giả , có nghĩa là như sau. Nó là một chương trình có giá trị trong một ngôn ngữ lập trình L' , và cho mỗi đầu vào 1 ≤ n ≤ 10 (các trường hợp thử nghiệm ở trên), nó sẽ trả về tổng các ước thích hợp của n , nhưng có tồn tại một số 11 ≤ n ≤ 10 000 mà nó không trả về kết quả chính xác. Nó có thể trả về một cái gì đó không chính xác, lặp đi lặp lại mãi mãi, sự cố, vv Nó có thể đưa ra một kết quả sai cho tất cả n n 11 , đối với một số trong số chúng hoặc chỉ một.
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng và bạn có thể có các phương tiện nhập và xuất khác nhau bằng hai ngôn ngữ. Số byte thấp nhất sẽ thắng. Luật golf tiêu chuẩn được áp dụng. Trong thử thách này, các phiên bản chính hoặc cách triển khai ngôn ngữ khác nhau được coi là khác biệt.
Lưu ý rằng nếu bạn sử dụng các ngôn ngữ lập trình với mã hóa không phải ASCII (như nhiều ngôn ngữ trên trang web này), thì phải sử dụng cùng một chuỗi byte cho cả hai ngôn ngữ. Điều này có nghĩa là bạn phải chuyển đổi giữa các trang mã có khả năng khác nhau hoặc phải chịu hình phạt cho các ký tự Unicode nhiều byte.
Các trường hợp kiểm tra bổ sung
20 -> 22
36 -> 55
180 -> 366
997 -> 1
2875 -> 869
10000 -> 14211