"Con kiến" là một động vật cố chấp điều hướng các số nguyên và phân chia chúng cho đến khi chỉ còn lại các số nguyên tố!
Ban đầu, chúng ta có một mảng A vô hạn chứa tất cả các số nguyên> = 2: [2,3,4,5,6,.. ]
Hãy p
là vị trí của con kiến trên mảng. Ban đầu, p = 0
(mảng là 0-index)
Mỗi lượt, con kiến sẽ di chuyển như sau:
- nếu
A[p]
là số nguyên tố, con kiến di chuyển đến vị trí tiếp theo:p ← p+1
- khác, nếu
A[p]
là một số tổng hợp, hãyq
là ước số nhỏ hơn của nó> 1. Chúng ta chiaA[p]
choq
và chúng ta thêmq
vàoA[p-1]
. Con kiến di chuyển đến vị trí trước:p ← p-1
Dưới đây là những động thái đầu tiên cho loài kiến:
2 3 4 5 6 7 8 9 ...
^
2 3 4 5 6 7 8 9 ...
^
2 3 4 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 5 6 7 8 9 ...
^
2 5 2 7 3 7 8 9 ...
^
Chương trình của bạn sẽ xuất ra vị trí của kiến sau khi n
di chuyển. (bạn có thể giả định n <= 10000
)
Các trường hợp thử nghiệm:
0 => 0
10 => 6
47 => 9
4734 => 274
10000 => 512
Biên tập. bạn cũng có thể sử dụng danh sách 1 chỉ mục, có thể chấp nhận để hiển thị kết quả 1, 7, 10, 275, 513 cho trường hợp thử nghiệm ở trên.
Đây là mã golf, vì vậy mã có mã ngắn nhất tính bằng byte sẽ thắng.
n
(hoặc liệu trường hợp tổng hợp có thể đẩy con kiến sang bên trái của ban đầu 2
).
1,7,10,275,513
nếu 1 chỉ mục đã nêu? Hoặc họ vẫn sẽ cần phải phù hợp với đầu ra của bạn.