คุณได้รับเหรียญ N กอง คุณได้ตัดสินใจแบ่งกองB 1 , B 2 , ... , B N แต่ละกองในกลุ่มคนที่แยกกัน จำนวนคนที่รับเหรียญจะต้องเป็นจำนวนเฉพาะและจำนวนเงินที่มอบให้กับแต่ละคนจะต้องแตกต่างกันในแต่ละกอง
อินพุต: N, B 1 , B 2 , ... , B N (จำนวนเหรียญในแต่ละกอง)
เอาท์พุท: NP 1 , NP 2 , ... , NP Nโดย NP เป็นจำนวนคน (จำนวนเฉพาะ) ที่ได้รับเหรียญ ถ้าเรื่องนี้เป็นไปไม่ได้แล้วให้ผลผลิตผลบางอย่าง unachievable (เช่น0
, -1
, None
, []
หรือ"impossible"
) หรือเพิ่มข้อผิดพลาด
ตัวอย่าง:
3
7 8 9
เอาท์พุท: 7 2 3
เนื่องจาก 7 เป็นหมายเลขเฉพาะเท่านั้นที่สามารถหาร 7 ได้เท่ากันจึงเท่ากับ 8 และ 2 และ 9 และ 3 และสังเกตว่า (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3 )
0
รายการว่างสตริงเช่น "เป็นไปไม่ได้" หรือเพิ่มข้อผิดพลาด) สำหรับกรณีที่เป็นไปไม่ได้? (จริง ๆ แล้วฉันขอแนะนำให้ป้อนข้อมูลที่ถูกต้องเท่านั้นหรืออนุญาตพฤติกรรมที่ไม่ได้กำหนดในกรณีเช่นนี้ แต่ขึ้นอยู่กับคุณ)
[7,8,8]
มันจะเป็นไปไม่ได้ (ตั้งแต่ใช้2
สำหรับ8
ผลลัพธ์ทั้งสองในสอง4
s.) นอกจากนี้หากข้อมูลที่ถูกพูด[7,30,30]
แล้ว[7,2,2]
ก็จะไม่ถูกต้อง แต่[7,2,3]
และ[7,3,2]
ในหมู่คนอื่นจะทำงาน
N
เป็นข้อมูลซ้ำซ้อนเราขอนำมาใช้ก่อนหรือไม่