整数划分是指将正整数n划分成若干整数之和,如3的划分:1+1+1、1+2、3共三种(1+2和2+1为同一个划分)
给定一个整数n,求n划分的个数,通常的做法是引用一个正整数m,q(n,m)表示n的划分中最大整数不超过m,从而建立递归函数
如整数6的划分:
1.求整数n=6的所有划分相当于求最大整数不超过6的划分,m=6即求q(6,6),此时如果m>n和m=n=6的结果一样,可得出:
q(n,m)=q(n,n),m≥n
2.要求q(6,6),对于最大整数6有两种情况:(1)6在划分中;(2)6不在划分中。(1)只有一种结果即6;(2)可表示为最大整数不超过5的划分即q(6,5),可得出:
q(n,n)=1+q(n,n-1)