ฉันสนุกกับการอ่านเว็บไซต์นี้; นี่เป็นคำถามแรกของฉัน ยินดีต้อนรับการแก้ไข
รับจำนวนเต็มบวกnและmคำนวณพาร์ติชันที่สั่งทั้งหมดของmลงในส่วนnจำนวนเต็มบวกส่วนและพิมพ์โดยคั่นด้วยเครื่องหมายจุลภาคและบรรทัดใหม่ คำสั่งใดก็ได้ แต่แต่ละพาร์ติชันจะต้องปรากฏขึ้นหนึ่งครั้ง
ตัวอย่างเช่นกำหนด m = 6 และ n = 2 พาร์ติชันที่เป็นไปได้คือคู่ของจำนวนเต็มบวกที่รวมกับ 6:
1,5
2,4
3,3
4,2
5,1
โปรดทราบว่า [1,5] และ [5,1] เป็นพาร์ติชั่นที่สั่งซื้อที่แตกต่างกัน เอาต์พุตควรอยู่ในรูปแบบข้างต้นโดยมีบรรทัดใหม่ต่อท้ายที่เป็นตัวเลือก (แก้ไข: ลำดับที่แน่นอนของพาร์ทิชันไม่สำคัญ) อินพุต / เอาต์พุตมีผ่านมาตรฐานรหัสกอล์ฟ I / O
อีกตัวอย่างของเอาต์พุตสำหรับ m = 7, n = 3:
1,1,5
1,2,4
2,1,4
1,3,3
2,2,3
3,1,3
1,4,2
2,3,2
3,2,2
4,1,2
1,5,1
2,4,1
3,3,1
4,2,1
5,1,1
รหัสที่เล็กที่สุดในหน่วยไบต์หลังจาก 1 สัปดาห์ที่ชนะ
โปรดแก้ไขอีกครั้งหากจำเป็น
ภาคผนวก:
@ TimmyD ถามขนาดของอินพุตจำนวนเต็มที่โปรแกรมสนับสนุน ไม่มีขั้นต่ำที่ยากเกินกว่าตัวอย่าง แท้จริงขนาดเอาต์พุตเพิ่มขึ้นแบบเอ็กซ์โพเนนเชียลโดยประมาณโดย: lines = e ^ (0.6282 n - 1.8273)
n | m | lines of output
2 | 1 | 1
4 | 2 | 2
6 | 3 | 6
8 | 4 | 20
10 | 5 | 70
12 | 6 | 252
14 | 7 | 924
16 | 8 | 3432
18 | 9 | 12870
20 | 10 | 48620
22 | 11 | 184756
24 | 12 | 705432