J'ai aimé lire ce site; c'est ma première question. Les modifications sont les bienvenues.
Étant donné les entiers positifs n et m , calculez toutes les partitions ordonnées de m en exactement n parties parties entières positives et imprimez-les délimitées par des virgules et des sauts de ligne. Toute commande est correcte, mais chaque partition doit apparaître exactement une fois.
Par exemple, étant donné m = 6 et n = 2, les partitions possibles sont des paires d'entiers positifs qui se résument à 6:
1,5
2,4
3,3
4,2
5,1
Notez que [1,5] et [5,1] sont des partitions ordonnées différentes. La sortie doit être exactement dans le format ci-dessus, avec une nouvelle ligne de fin facultative. (EDIT: l'ordre exact des partitions n'a pas d'importance). Les entrées / sorties se font via des E / S de code-golf standard .
Un autre exemple de sortie pour 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
Le plus petit code en octets après 1 semaine gagne.
Encore une fois, veuillez modifier si nécessaire.
Addenda:
@TimmyD a demandé quelle taille d'entrée entière le programme doit prendre en charge. Il n'y a pas de minimum strict au-delà des exemples; en effet, la taille de sortie augmente de façon exponentielle, grossièrement modélisée par: 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