Cho số nguyên dương n > 2
. Chúng tôi chuyển đổi nó thành một mảng như sau:
- Nếu nó bằng
2
trả về một mảng trống - Mặt khác, tạo mảng của tất cả
n
các thừa số nguyên tố được sắp xếp tăng dần, sau đó mỗi phần tử thay thế bằng chỉ mục của nó trong chuỗi số nguyên tố và cuối cùng chuyển đổi từng phần tử thành mảng
Ví dụ, cho phép chuyển đổi số 46
thành mảng. Đầu tiên, chuyển đổi nó thành mảng các yếu tố chính của nó:
[2, 23]
Số 23
là 9
số nguyên tố, vì vậy thay thế 2
bằng mảng trống và 23
bằng [9]
. Mảng bây giờ trở thành:
[[], [9]]
Thừa số nguyên tố của 9
là 3
và 3
, vì vậy:
[[], [3, 3]]
Làm tương tự cho cả hai 3
:
[[], [[2], [2]]]
Và cuối cùng:
[[], [[[]], [[]]]]
Bây giờ, để mã hóa nó, chúng ta chỉ cần thay thế từng khung mở bằng 1
và mỗi khung đóng bằng 0
, sau đó loại bỏ tất cả các số 0 kết thúc và thả một 1
từ cuối. Đây là số nhị phân của chúng tôi. Sử dụng ví dụ trên:
[ ] [ [ [ ] ] [ [ ] ] ]
| | | | | | | | | | | |
| | | | | | | | | | | |
V V V V V V V V V V V V
1 0 1 1 1 0 0 1 1 0 0 0
Bây giờ chỉ cần thả ba số không cuối cùng và số cuối cùng 1
. Số trở nên 10111001
đó là 185
trong hệ thập phân. Đó là sản lượng dự kiến. Lưu ý rằng không bao gồm trong khung chuyển đổi sang mảng nhị phân của mảng chính.
Đầu vào
Số nguyên dương n
lớn hơn 2
.
Đầu ra
Số nguyên được mã hóa n
.
Định dạng quy tắc và IO
- Quy tắc tiêu chuẩn áp dụng.
- Đầu vào có thể là chuỗi hoặc số (nhưng trong trường hợp chuỗi phải ở cơ sở 10).
- Đầu ra có thể là chuỗi hoặc số (nhưng trong trường hợp chuỗi phải ở cơ sở 10).
- Đây là code-golf , câu trả lời ngắn nhất trong byte thắng!
Các trường hợp thử nghiệm
Nhiều trường hợp thử nghiệm theo yêu cầu.
3 ---> 1
4 ---> 2
5 ---> 3
6 ---> 5
7 ---> 6
8 ---> 10
9 ---> 25
10 ---> 11
10000 ---> 179189987
10001 ---> 944359
10002 ---> 183722
10003 ---> 216499
10004 ---> 2863321
10005 ---> 27030299
10006 ---> 93754
10007 ---> 223005
10008 ---> 1402478
2
vì các bài nộp không bắt buộc phải xử lý nó.