Một đứa trẻ tò mò sử dụng một chương trình có thể nhân một số hoặc một biểu thức thành dạng sau : p1^e1 * p2^e2 * ... * pn^en
. Số mũ bằng 1
được bỏ qua, ví dụ360 = 2^3 * 3^2 * 5
Đứa trẻ gõ đầu ra này vào chương trình dưới dạng đầu vào mới nhưng cô ấy không hiểu được ^
dấu hiệu nên đôi khi cô bỏ qua một hoặc nhiều trong số đó nối liền với số nguyên tố và số mũ tương ứng. Ví dụ(360 =) 2^3 * 3^2 * 5 => 2^3 * 32 * 5 (= 1280)
Vì những sai lầm này, cô ấy có thể nhận được một yếu tố khác mà cô ấy có thể nhập lại (với việc bỏ qua 0 hoặc nhiều hơn ^
). Cô ấy lặp lại quy trình cho đến khi hệ số hóa không thay đổi nữa (có thể không còn ^
sao chép chính xác đầu ra nữa).
Bạn nên viết một chương trình hoặc hàm đưa ra một số nguyên n
( n>1
) xuất ra tất cả các số có thể theo thứ tự tăng dần mà hệ số của nó có thể là số mà đứa trẻ kết thúc với (bao gồm n
). Ví dụ: cho 16
các yếu tố cuối cùng có thể là(16 =) 2^4, (24 =) 2^3 * 3, (23*3 =) 3 * 23
Chi tiết đầu vào:
- đầu vào là một số nguyên lớn hơn
1
- không có đầu vào nào được đưa ra mà tạo ra số đầu ra lớn hơn
2^31-1
- không có đầu vào nào được đưa ra mà tạo ra nhiều hơn
1000
số đầu ra
Chi tiết đầu ra:
- một danh sách các số nguyên ở dạng thuận tiện cho ngôn ngữ của bạn
Ví dụ:
Đầu vào => Đầu ra
11 => 11
16 => 16 24 69
360 => 140 360 770 1035 1219 1280 2875 3680
605 => 560 605 840 2415
2048 => 211 2048
58564 => 230 456 1311 2508 9975 12768 13794 20748 58564 114114 322102
Đây là môn đánh gôn nên chương trình ngắn nhất sẽ thắng.