Mô tả nhị phân đệ quy
Gần đây, tôi đã đóng góp đầu tiên cho OEIS bằng cách mở rộng và thêm tệp b vào chuỗi A049064 . Chuỗi bắt đầu bằng 0, và sau đó các giá trị tiếp theo được lấy từ việc đưa ra "mô tả nhị phân" của mục cuối cùng.
Ví dụ, thuật ngữ thứ hai sẽ là 10bởi vì có một 0trong phần tử đầu tiên. Thuật ngữ thứ ba sẽ là 1110, bởi vì có một 1và một 0. Thứ tư sẽ là 11110. bởi vì có ba ( 11trong nhị phân!) 1 và một 0. Dưới đây là bảng phân tích của thuật ngữ thứ năm để làm cho quá trình này rõ ràng:
> 11110
> 1111 0 (split into groups of each number)
> 4*1 1*0 (get count of each number in each group)
> 100*1 1*0 (convert counts to binary)
> 100110 (join each group back together)
Và đây là một ví dụ để đi từ nhiệm kỳ thứ 6 đến thứ 7:
> 1110010110
> 111 00 1 0 11 0
> 3*1 2*0 1*1 1*0 2*1 1*0
> 11*1 10*0 1*1 1*0 10*1 1*0
> 111100111010110
Bạn có thể kiểm tra một chương trình tài liệu tham khảo φ tôi đã thực hiện để tính toán các điều khoản.
Công việc của bạn
Bạn cần tạo một chương trình hoặc hàm lấy số nthông qua đầu vào tiêu chuẩn hoặc đối số hàm và in ra chuỗi từ 1stthuật ngữ này sang (n+1)ththuật ngữ, được phân tách bằng một dòng mới. Nếu bạn muốn xem các số thấp hơn, bạn có thể tham khảo tệp b từ trang OEIS. Tuy nhiên, chương trình / chức năng của bạn nên hỗ trợ 0 <= n <= 30, tức là đến nhiệm kỳ thứ 31. Đây là một kỳ công không nhỏ, như A049064(30)là hơn 140.000 chữ số dài δ . Nếu bạn muốn xem thuật ngữ thứ 31 sẽ là gì, tôi đã đặt nó trên Pastebin .
Ví dụ I / O
func(10)
0
10
1110
11110
100110
1110010110
111100111010110
100110011110111010110
1110010110010011011110111010110
1111001110101100111001011010011011110111010110
1001100111101110101100111100111010110111001011010011011110111010110
func(0)
0
func(3)
0
10
1110
11110
Chỉ có một quy tắc: Không có sơ hở tiêu chuẩn!
Đây là môn đánh gôn , vì vậy số byte thấp nhất sẽ thắng.
- Gist có thể được tìm thấy ở đây , và một bản demo ideone ở đây .
δ - Chỉ trong trường hợp bạn đang tự hỏi, ước tính của tôi ở độ dài của nhiệm kỳ thứ 100 đặt nó dài khoảng 3,28x10 250 ký tự, sẽ khá nhiều cho bất cứ ai tính toán.
[0]\n[1, 0]\n[1, 1, 1, 0]\n...