将整数n划分,划分时最大可用的数为m
int q(int n, int m) {
if ((n < 1 || (m < 1)))
return 0;
if ((n == 1) || (m == 1))
return 1;
if (n < m)
return q(n, n);
if (n == m)
return q(n, m - 1) + q(n - m, m);
return q(n, m - 1) + q(n - m, m); //n-m中能取的最大数同样是m
}