Saya senang membaca situs ini; ini pertanyaan pertamaku. Suntingan dipersilakan.
Diberikan bilangan bulat positif n dan m , hitung semua partisi m yang diurutkan menjadi persis n bagian bilangan bulat positif, dan cetaklah dipisahkan oleh koma dan baris baru. Urutan apa pun baik-baik saja, tetapi setiap partisi harus muncul tepat sekali.
Misalnya, mengingat m = 6 dan n = 2, partisi yang mungkin adalah pasangan bilangan bulat positif yang berjumlah 6:
1,5
2,4
3,3
4,2
5,1
Perhatikan bahwa [1,5] dan [5,1] adalah partisi dengan urutan berbeda. Output harus persis dalam format di atas, dengan baris tambahan opsional. (EDIT: Urutan partisi tidak penting). Input / output melalui standar kode-golf I / O .
Contoh output lain untuk 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
Kode terkecil dalam byte setelah 1 minggu menang.
Sekali lagi, harap edit jika perlu.
Tambahan:
@TimmyD bertanya berapa ukuran input integer yang harus didukung oleh program. Tidak ada minimum keras di luar contoh; memang, ukuran output meningkat secara eksponensial, secara kasar dimodelkan oleh: 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