Gaussian จำนวนเต็มคือตัวเลขที่ซับซ้อนที่มีจริงและส่วนจินตภาพเป็นจำนวนเต็ม
จำนวนเต็ม Gaussian เช่นจำนวนเต็มธรรมดาสามารถแสดงเป็นผลิตภัณฑ์ของจำนวนเฉพาะ Gaussian ในลักษณะที่ไม่ซ้ำกัน ความท้าทายที่นี่คือการคำนวณองค์ประกอบที่สำคัญของจำนวนเต็ม Gaussian ที่กำหนด
อินพุต: จำนวนเต็มแบบเกาส์ซึ่งไม่เท่ากับ 0 และไม่ได้เป็นหน่วย (เช่น 1, -1, i และ -i ไม่สามารถให้เป็นอินพุต) ใช้รูปแบบที่เหมาะสมตัวอย่างเช่น:
- 4-5i
- -5 * J + 4
- (4, -5)
เอาท์พุท: รายการของเลขจำนวนเต็มแบบเกาส์ซึ่งเป็นจำนวนเฉพาะ (กล่าวคือไม่มีตัวใดตัวหนึ่งที่สามารถแสดงเป็นผลคูณของจำนวนเต็มแบบเกาส์ที่ไม่ใช่หน่วยสองหน่วย) และผลิตภัณฑ์มีค่าเท่ากับจำนวนอินพุต ตัวเลขทั้งหมดในรายการเอาท์พุทจะต้องไม่สำคัญคือไม่ใช่ 1, -1, i หรือ -i สามารถใช้รูปแบบเอาต์พุตที่เหมาะสมได้ ไม่ควรจะเหมือนกับรูปแบบอินพุต
หากรายการเอาท์พุทมีมากกว่า 1 องค์ประกอบก็จะสามารถแก้ไขเอาต์พุตที่ถูกต้องได้หลายรายการ ตัวอย่างเช่นสำหรับอินพุต 9 เอาต์พุตสามารถเป็น [3, 3] หรือ [-3, -3] หรือ [3i, -3i] หรือ [-3i, 3i]
กรณีทดสอบ (นำมาจากตารางนี้ 2 บรรทัดต่อกรณีทดสอบ)
2
1+i, 1-i
3i
3i
256
1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i
7+9i
1+i,2−i,3+2i
27+15i
1+i,3,7−2i
6840+585i
-1-2i, 1+4i, 2+i, 3, 3, 6+i, 6+i
ไม่อนุญาตให้ใช้ฟังก์ชันในตัวสำหรับการแยกจำนวนเต็มแบบเกาส์น สามารถอนุญาตให้ทำการแยกจำนวนเต็มธรรมดาด้วยฟังก์ชันในตัวได้
3i
เป็นคำตอบที่ถูกต้องเพราะi
ไม่ได้เป็นนายก ฉันได้อัปเดตกรณีทดสอบเพื่อให้ชัดเจนยิ่งขึ้น
6840+585i
มีรายการปัจจัยที่ผิดเนื่องจาก5
ไม่ใช่นายกแบบเกาส์ แต่มันกลับ-1-2i, 1+4i, 2+i, 3, 3, 6+i, 6+i
มา แหล่งที่มา
256=(1+i)**16
ไม่ใช่(1+i)**8
เพราะ256=2**8=(2i)**8
และ2i=(1+i)**2
3i
กลับมาเป็น3,i
หรือ3i
?