Trình tự Skolem
Một Skolem chuỗi là một chuỗi các 2n
số mà mỗi số i
giữa 1
và n
xảy ra chính xác gấp đôi, và khoảng cách giữa hai lần xuất hiện của i
là chính xác i
bước. Dưới đây là một số ví dụ về trình tự Skolem:
1 1
1 1 4 2 3 2 4 3
16 13 15 12 14 4 7 3 11 4 3 9 10 7 13 12 16 15 14 11 9 8 10 2 6 2 5 1 1 8 6 5
Các trình tự sau đây không phải là trình tự Skolem:
1 2 1 2 (The distance between the 1's is 2, not 1)
3 1 1 3 (The number 2 is missing)
1 1 2 1 1 2 (There are four 1's)
Mục tiêu
Viết chương trình, hàm hoặc biểu thức để đếm số lượng tất cả các chuỗi Skolem có độ dài cho trước. Nói rõ hơn, đầu vào của bạn là một số nguyên n
và đầu ra của bạn là số lượng chuỗi Skolem có độ dài 2n
. Trình tự này có một mục OEIS . Đối với n = 0
, bạn có thể trở lại 0
hoặc 1
. Một vài giá trị đầu tiên, bắt đầu từ 0
, là
0, 1, 0, 0, 6, 10, 0, 0, 504, 2656, 0, 0, 455936, 3040560, 0, 0, 1400156768
Quy tắc và tính điểm
Đây là mã golf. Định dạng đầu ra là lỏng lẻo trong lý do.
0
? Nếu bạn sẽ thừa nhận 0
là một đầu vào hợp lệ thì đầu ra sẽ là 1
.
0, 1, 0, 0, 6...
câu hỏi của bạn là gì? Đó có phải là đoạn mã không, nếu vậy thì đó là ngôn ngữ gì?