Cho đầu vào của một số nguyên ≥ 2, xuất ra một danh sách các ước của nó được sắp xếp theo số mũ theo các thừa số nguyên tố của chúng, theo thứ tự tăng dần, sắp xếp trước theo số nguyên tố lớn nhất, sau đó theo số lớn thứ hai, v.v.
Lấy ví dụ, lấy số nguyên 72, là 2 3 3 2 . Nó có các ước số
1 3^0 · 2^0
2 3^0 · 2^1
3 3^1 · 2^0
4 3^0 · 2^2
6 3^1 · 2^1
8 3^0 · 2^3
9 3^2 · 2^0
12 3^1 · 2^2
18 3^2 · 2^1
24 3^1 · 2^3
36 3^2 · 2^2
72 3^2 · 2^3
Khi được sắp xếp theo thứ tự tăng dần theo số mũ trên các thừa số nguyên tố, với các số nguyên tố lớn hơn được ưu tiên, điều này trở thành
1 3^0 · 2^0
2 3^0 · 2^1
4 3^0 · 2^2
8 3^0 · 2^3
3 3^1 · 2^0
6 3^1 · 2^1
12 3^1 · 2^2
24 3^1 · 2^3
9 3^2 · 2^0
18 3^2 · 2^1
36 3^2 · 2^2
72 3^2 · 2^3
Lưu ý rằng danh sách được sắp xếp trước theo thứ tự số mũ của 3 và sau đó theo số mũ của 2. Bạn cũng có thể nghĩ về điều này như đọc từ trái sang phải và từ trên xuống dưới qua lưới sau:
2^0 2^1 2^2 2^3
3^0 1 2 4 8
3^1 3 6 12 24
3^2 9 18 36 72
Các trường hợp thử nghiệm:
2 => 1 2
72 => 1 2 4 8 3 6 12 24 9 18 36 72
101 => 1 101
360 => 1 2 4 8 3 6 12 24 9 18 36 72 5 10 20 40 15 30 60 120 45 90 180 360
3780 => 1 2 4 3 6 12 9 18 36 27 54 108 5 10 20 15 30 60 45 90 180 135 270 540 7 14 28 21 42 84 63 126 252 189 378 756 35 70 140 105 210 420 315 630 1260 945 1890 3780
30030 => 1 2 3 6 5 10 15 30 7 14 21 42 35 70 105 210 11 22 33 66 55 110 165 330 77 154 231 462 385 770 1155 2310 13 26 39 78 65 130 195 390 91 182 273 546 455 910 1365 2730 143 286 429 858 715 1430 2145 4290 1001 2002 3003 6006 5005 10010 15015 30030
65536 => 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536
74088 => 1 2 4 8 3 6 12 24 9 18 36 72 27 54 108 216 7 14 28 56 21 42 84 168 63 126 252 504 189 378 756 1512 49 98 196 392 147 294 588 1176 441 882 1764 3528 1323 2646 5292 10584 343 686 1372 2744 1029 2058 4116 8232 3087 6174 12348 24696 9261 18522 37044 74088
Vì đây là mã golf , mã ngắn nhất tính bằng byte sẽ thắng.