ackerman 发表于 2013-1-26 12:35:00

递归算法---求解多元一次方程

 
/** * 求解x1+x2+x3+...+x10 = 10 的非负整数解 */#include<stdio.h>static int ans_sum ;int n=10;int numx=10;int ans;void print_ans(){      int i;      for (i = numx - 1; i >= 0; i--) {                printf("%d ", ans);      }      printf("\n");}void solve(int n, int numx){      int i;      if (n < 0)                return;      if (numx == 1) {                ans_sum++;                ans = n;                print_ans();                return;      }      for (i = 0; i <= n; i++) {                ans = i;                solve(n - i, numx - 1);      }}int main(int argc, char *argv[]){      solve(n,numx);      printf("total :%d\n", ans_sum);      return 0;}
页: [1]
查看完整版本: 递归算法---求解多元一次方程