เรามีความท้าทายในการแยกตัวประกอบที่สำคัญเมื่อไม่นานมานี้ แต่ความท้าทายนั้นเกือบหกปีและแทบจะไม่เป็นไปตามข้อกำหนดปัจจุบันของเราดังนั้นฉันเชื่อว่าถึงเวลาแล้วสำหรับการสร้างใหม่
ท้าทาย
เขียนโปรแกรมหรือฟังก์ชั่นที่รับอินพุตเป็นจำนวนเต็มมากกว่า 1 และส่งออกหรือส่งกลับรายการปัจจัยหลัก
กฎระเบียบ
- อินพุตและเอาต์พุตอาจกำหนดโดยวิธีมาตรฐานและในรูปแบบมาตรฐานใด ๆ
- ปัจจัยที่ซ้ำกันต้องรวมอยู่ในผลลัพธ์
- ผลลัพธ์อาจอยู่ในลำดับใดก็ได้
- อินพุตจะต้องไม่น้อยกว่า 2 หรือมากกว่า 2 31 - 1
- อนุญาตให้มีบิวด์อิน แต่อนุญาตให้รวมโซลูชันที่ไม่ใช่บิลด์ไว้
กรณีทดสอบ
2 -> 2
3 -> 3
4 -> 2, 2
6 -> 2, 3
8 -> 2, 2, 2
12 -> 2, 2, 3
255 -> 3, 5, 17
256 -> 2, 2, 2, 2, 2, 2, 2, 2
1001 -> 7, 11, 13
223092870 -> 2, 3, 5, 7, 11, 13, 17, 19, 23
2147483646 -> 2, 3, 3, 7, 11, 31, 151, 331
2147483647 -> 2147483647
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ