Мені подобалося читати цей сайт; це моє перше питання. Правки вітаються.
З огляду на додатні цілі числа n та m , обчисліть усі впорядковані розділи m на рівно n частин додатних цілих частин та роздрукуйте їх, розділених комами та новими рядками. Будь-яке замовлення добре, але кожен розділ повинен з’являтися рівно один раз.
Наприклад, задані m = 6 і n = 2, можливі розділи - пари натуральних чисел, які дорівнюють 6:
1,5
2,4
3,3
4,2
5,1
Зауважимо, що [1,5] та [5,1] - це різні упорядковані розділи. Вихід повинен бути точно у форматі, наведеному вище, з необов'язковим новим рядком. (EDIT: Точний порядок розділів не має значення). Введення / вихід здійснюється через стандартний код-гольф вводу / виводу .
Інший приклад виведення для 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 запитав, який розмір цілого вводу має підтримувати програма. Не існує жорсткого мінімуму, окрім прикладів; Дійсно, розмір виходу збільшується експоненціально, приблизно моделюючи: рядки = 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