bir yolu olarak büyük, en azından doğal sayılar kullanılarak n bölüm sayısını temsil eden bir ara işlev p (k, n), içerir k. k herhangi bir değeri, p (k, n) ile sayılmıştır bölümleri için aşağıdaki kategorilerden tam birisine girer:
smallest addend is k
smallest addend is strictly greater than k.
birinci durum, toplantı bölmelerin sayısı p (k, n, - k). Bunu görmek için, sayı n tüm bölümleri listesini hayal - o zaman listedeki her bölüm için "+ k" ekleme hayal boyutunda en az k sayıları içine k. Şimdi ne listesi? bir not olarak, tek bir + p (k, ikinci durum, toplantı bölme
1+ sum{k=1 to floor (1/2)n} p(k,n-k) = p(n),
sayısı, yani, ara fonksiyon vadede bölüm fonksiyonu için yineleme ilgili bir tür tanımlamak için kullanabilir 1, n) tam k herhangi bir parça yoktur en azından k bölüme bir bölüm en azından k + 1.
iki koşul birbirini dışlayan olduğundan, bölümleri sayısı toplantısı tüm parçaları olması gerekir çünkü her iki durum da p (k + 1, n) + p (k, n - k) dir. yinelemeli tanımlanmış fonksiyon böylece:
p(k, n) = 0 if k > n
p(k, n) = 1 if k = n
p(k, n) = p(k+1, n) + p(k, n − k) otherwise.
Ve bunu OP'nin sayma yöntemiyle ilişkilendirmek için, OP n 'nin bir n bölümü olarak sayılmadığından OP'yi 1 (n, n)' den çıkarmak zorundayız. – unutbu
evet, ama nihai sonuç, yolu 1 ((n) '(veya P (wiki) Yukarıdaki ancak P' için yazdığı tüm P (i, j) hesaplanacaktır aslında, 1'den çıkarılmalıdır @unutbu n)) (sadece çıktı değeri) 1'den çıkarılmalıdır. Cevabımı düzenledim, teşekkürler. –