โดยไม่ต้องใช้ฟังก์ชันแฟคตอริ่ง / พหุนามใด ๆ ในตัวปัจจัยพหุนามสมบูรณ์เป็น irreducibles เหนือจำนวนเต็มหรือเขต จำกัด
อินพุต
โปรแกรม / ฟังก์ชั่นของคุณจะได้รับหมายเลขเฉพาะ (หรือศูนย์) จำนวนหนึ่งnเป็นอินพุต สนาม / แหวนเป็นฟิลด์ จำกัด ของการสั่งซื้อที่ (เช่นZ/nZ) หรือเพียงแค่Zถ้ามีn 0โปรแกรมของคุณอาจล้มเหลวหากnไม่ใช่0หรือเป็นตัวเฉพาะ F[x]พหุนามจะอยู่ใน
โปรแกรม / ฟังก์ชั่นของคุณจะได้รับพหุนามเป็นอินพุต
มีความยืดหยุ่นในการป้อนข้อมูลให้แน่ใจว่าได้ระบุวิธีที่คุณต้องการรับอินพุต ตัวอย่างเช่นพหุนามสามารถป้อนเป็นรายการของค่าสัมประสิทธิ์หรือในรูปแบบที่คนส่วนใหญ่คาดหวัง (เช่น:) 50x^3 + x^2หรือรูปแบบที่เหมาะสมอื่น ๆ หรือรูปแบบของการป้อนสนาม / แหวนอาจแตกต่างกัน
เอาท์พุต
โปรแกรม / ฟังก์ชั่นของคุณจะเอาท์พุทพหุนามสมบูรณ์ คุณอาจขยายหลายราก (เช่น(x + 1)(x + 1)แทน(x + 1)^2) คุณสามารถลบช่องว่างระหว่างตัวดำเนินการไบนารี *คุณอาจจะแทนที่ด้วยการตีข่าว คุณสามารถแทรกช่องว่างในสถานที่แปลก ๆ คุณสามารถจัดลำดับปัจจัยต่าง ๆ ตามที่คุณต้องการ ระยะก็อาจจะx สามารถเขียนเป็น; แต่ระยะคงที่อาจจะไม่ได้มี สัญญาณภายนอกนั้นอนุญาตให้ทำได้ คุณอาจไม่มีคำศัพท์ที่อยู่ข้างหน้าพวกเขาจะต้องถูกทิ้งไว้ คำที่เป็นผู้นำของแต่ละปัจจัยจะต้องเป็นบวกสัญญาณเชิงลบจะต้องอยู่นอก(x)xx^1x^0+0
กรณีทดสอบโปรแกรมของคุณควรสามารถสร้างผลลัพธ์สำหรับแต่ละสิ่งเหล่านี้ในเวลาที่เหมาะสม (พูด <<2 ชั่วโมง):
การป้อนข้อมูล: 2, x^3 + x^2 + x + 1
เอาท์พุท: (x + 1)^3
การป้อนข้อมูล: 0, x^3 + x^2 + x + 1
เอาท์พุท: (x + 1)(x^2 + 1)
การป้อนข้อมูล: 0, 6x^4 – 11x^3 + 8x^2 – 33x – 30
เอาท์พุท: (3x + 2)(2x - 5)(x^2 + 3)
การป้อนข้อมูล: 5, x^4 + 4x^3 + 4x^2 + x
เอาท์พุท: x(x + 4)(x + 4)(x + 1)
การป้อนข้อมูล: 0, x^5 + 5x^3 + x^2 + 4x + 1
เอาท์พุท: (x^3 + 4x + 1)(x^2 + 1)
ขอขอบคุณเป็นพิเศษกับปีเตอร์เทย์เลอร์ที่วิจารณ์การทดสอบของฉัน
pมีองค์ประกอบ{0, 1, ... , p-1}และมันก็อยู่ภายใต้นอกจาก / pคูณพอควร โดยทั่วไปลดสัมประสิทธิ์ใด ๆ ตาม mod pและคุณก็ทำได้ดี นอกจากนี้โปรดทราบว่าหากมีรากเช่นตัวประกอบเชิงเส้นหนึ่งใน{0, ... , p-1}นั้นจะสร้าง0(mod p) เมื่อเสียบเข้ากับพหุนาม
Zเป็นปัจจัยมากกว่าZ/pZสำหรับเหมาะpลิฟท์แล้ว Hensel อย่างไรก็ตามวิธีการตีกอล์ฟนั้นน่าจะเป็น (และนี่คือเส้นทางที่ฉันกำลังมองหาอยู่) เพื่อใช้ขอบเขตที่เรียบง่ายกับความสูงของปัจจัยและดุร้ายบังคับมัน