Bốn chuỗi số nguyên
Trong thử thách này, bạn sẽ kiểm tra bốn thuộc tính khác nhau của một số nguyên dương, được đưa ra bởi các chuỗi sau. Một số nguyên dương N là
- hoàn hảo ( OEIS A000396 ), nếu tổng các ước thích hợp của N bằng N . Trình tự bắt đầu với 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128 ...
- refactorable ( OEIS A033950 ), nếu số lượng các ước của N là một ước của N . Trình tự bắt đầu với 1, 2, 8, 9, 12, 18, 24, 36, 40, 56, 60, 72, 80, 84, 88, 96, 104, 108, 128 ...
- thực tế ( OEIS A005153 ), nếu mỗi số nguyên 1 ≤ K ≤ N là một tổng của một số ước riêng biệt của N . Trình tự bắt đầu với 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56 ...
- cao composit ( OEIS A002128 ), nếu mỗi số 1 ≤ K <N có ước nghiêm ngặt ít hơn N . Trình tự bắt đầu với 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040 ...
Bốn chương trình
Nhiệm vụ của bạn là viết bốn chương trình (nghĩa là chương trình đầy đủ, định nghĩa hàm hoặc hàm ẩn danh thực hiện I / O theo bất kỳ phương thức chuẩn nào ). Mỗi chương trình sẽ giải quyết vấn đề thành viên của một trong các chuỗi này. Nói cách khác, mỗi chương trình sẽ lấy số nguyên dương N 1 làm đầu vào và xuất giá trị trung thực nếu N nằm trong chuỗi và giá trị giả nếu không. Bạn có thể giả sử rằng N nằm trong giới hạn của kiểu số nguyên chuẩn của ngôn ngữ lập trình của bạn.
Các chương trình phải liên quan theo cách sau. Có bốn chuỗi ABCD
như vậy
AC
là chương trình công nhận số hoàn hảo.AD
là chương trình công nhận số tái cấu trúc.BC
là chương trình công nhận những con số thực tế.BD
là chương trình công nhận số tổng hợp cao.
Chấm điểm
Điểm của bạn là tổng chiều dài (tính bằng byte) của chuỗi ABCD
, hay nói cách khác, tổng số byte của bốn chương trình chia cho hai. Điểm thấp nhất trong mỗi ngôn ngữ lập trình là người chiến thắng. Luật golf tiêu chuẩn được áp dụng.
Ví dụ, nếu bốn dây là a{
, b{n
, +n}
và =n}?
, sau đó bốn chương trình này a{+n}
, a{=n}?
, b{n+n}
và b{n=n}?
, và tỷ số là 2 + 3 + 3 + 4 = 12 .