Bu siteyi okumaktan keyif aldım; bu benim ilk sorum. Düzenlemeler kabul edilir.
Pozitif tamsayılar Verilen n ve m , her sipariş bölümleri hesaplamak m tam içine n parçalar pozitif tamsayı parçaları, ve onları virgül ve satırbaşıyla sınırlandırılmış yazdırın. Herhangi bir sipariş iyidir, ancak her bölüm tam olarak bir kez görünmelidir.
Örneğin, m = 6 ve n = 2 verildiğinde, olası bölümler 6'ya karşılık gelen pozitif tamsayı çiftleridir:
1,5
2,4
3,3
4,2
5,1
[1,5] ve [5,1] 'in farklı sıralı bölümler olduğuna dikkat edin. Çıktı, isteğe bağlı olarak izleyen satırsonu ile birlikte tam olarak yukarıdaki biçimde olmalıdır. (DÜZENLEME: Bölümlerin kesin sırası önemli değildir). Giriş / çıkış standart kod golf I / O üzerinden yapılır .
M = 7, n = 3 için başka bir örnek çıktı:
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 hafta sonra bayt cinsinden en küçük kod kazanır.
Yine gerekirse lütfen düzenleyin.
Zeyilname:
@TimmyD, programın hangi boyutta tamsayı girdisini desteklemesi gerektiğini sordu. Örneklerin ötesinde zor bir minimum yoktur; aslında, çıktı boyutu katlanarak artar, kabaca şu şekilde modellenir: 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