Thử thách
Trong số lượng mã ngắn nhất:
- Tính độ dài của chu kỳ hoán vị của một shuffle hoàn hảo trên cỗ bài có kích thước n bất kỳ (trong đó n ≥ 2 và n chẵn).
- Xuất ra một bảng có tất cả độ dài chu kỳ cho 2 ≤ n 1000 ( n chẵn).
Lưu ý rằng có hai cách cơ bản để xác định một shuffle hoàn hảo. Có thẻ xáo trộn , giữ thẻ đầu tiên ở trên và thẻ cuối cùng ở dưới, và có thẻ xáo trộn , di chuyển thẻ đầu tiên và thẻ cuối cùng một vị trí về phía trung tâm. Bạn có thể chọn xem bạn đang thực hiện xáo trộn hay xáo trộn; thuật toán gần như giống hệt nhau giữa hai.
- xáo trộn bộ bài 10 lá: [1,2,3,4,5,6,7,8,9,10] ↦ [1,6,2,7,3,8,4,9,5, 10].
- xáo trộn bộ bài 10 lá: [1,2,3,4,5,6,7,8,9,10] [6,1,7,2,8,3,9,4,10, 5].
Ví dụ đồ họa
Ở đây, chúng ta thấy rằng việc xáo trộn trên bộ bài 20 lá có độ dài chu kỳ là 18 bước. .
Một xáo trộn trên bộ bài 20 lá có độ dài chu kỳ chỉ 6 bước.
Ví dụ dạng bảng của đầu ra
Chương trình của bạn sẽ xuất ra một cái gì đó tương tự như thế này, mặc dù bạn có thể chọn bất kỳ định dạng bảng nào bạn thích nhất. Đây là một sự xáo trộn:
2 1
4 2
6 4
8 3
10 6
12 10
14 12
16 4
18 8
20 18
22 6
24 11
26 20
28 18
30 28
32 5
34 10
36 12
38 36
40 12
...many lines omitted...
1000 36
Câu hỏi
- Có vẻ như có bất kỳ kết nối nào giữa số đầu vào n và số chu kỳ của nó, khi n là lũy thừa của 2?
- Làm thế nào về khi n không phải là một sức mạnh của 2?
- Thật kỳ lạ, một cỗ bài 1000 lá có số chu kỳ xáo trộn chỉ 36, trong khi cỗ bài 500 lá có số chu kỳ xáo trộn là 166. Tại sao điều này có thể xảy ra?
- Số lớn nhất bạn có thể tìm thấy có số chu kỳ c nhỏ hơn n , nghĩa là tỷ lệ n / c được tối đa hóa là bao nhiêu?