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 16cá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
1000số đầ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.