Ich habe es genossen, diese Seite zu lesen. das ist meine erste frage Änderungen sind willkommen.
Berechnen Sie bei positiven Ganzzahlen n und m alle geordneten Partitionen von m in genau n Teile positive Ganzzahlenteile und drucken Sie sie durch Kommas und Zeilenumbrüche getrennt aus. Jede Bestellung ist in Ordnung, aber jede Partition muss genau einmal erscheinen.
Zum Beispiel sind bei m = 6 und n = 2 mögliche Partitionen Paare von positiven ganzen Zahlen, die sich zu 6 summieren:
1,5
2,4
3,3
4,2
5,1
Beachten Sie, dass [1,5] und [5,1] unterschiedlich angeordnete Partitionen sind. Die Ausgabe sollte genau das oben angegebene Format haben und optional einen Zeilenumbruch enthalten. (BEARBEITEN: Die genaue Reihenfolge der Partitionen spielt keine Rolle). Die Eingabe / Ausgabe ist über Standard - Code-Golf - I / O .
Eine weitere Beispielausgabe für 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
Der kleinste Code in Bytes nach 1 Woche gewinnt.
Auch hier bitte bei Bedarf nachbearbeiten.
Nachtrag:
@TimmyD fragte, welche Größe der Integer-Eingabe das Programm unterstützen soll. Es gibt kein hartes Minimum jenseits der Beispiele; Tatsächlich nimmt die Ausgabegröße exponentiell zu, grob modelliert durch: 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