int divinteger(int n, int m) { int sum = 0; if(n == 1 || m == 1) sum += 1; else if(n < m) sum += divinteger(n, n); else if(n == m) sum = sum + 1 + divinteger(n, n-1); else sum = sum + divinteger(n, m - 1) + divinteger(n - m, m); return sum; }
main() { int n; printf("Please input n(1>0): "); scanf("%d",&n); printf("the total of number divinteger: %d \n",divinteger(n,n)); }
/* * n 输入的整数 * main() 输出整数n的所有规划式总数量 */ int divinteger(int m,int n) { if(m == 1 || n == 1) { return 1; } else if(m<n) { return divinteger(m,m); } else if(m == n) { return 1+divinteger(m,m-1); } else { return divinteger(m,n-1)+divinteger(m-n,n); } }
int main() { int n; printf("Please input n:\n"); scanf("%d", &n); if(n < 1) printf("n is too small:\n"); printf("%d\n",divinteger(n, n)); return 0; }