整数划分,输出

来源:互联网 发布:云计算 电子政务 编辑:程序博客网 时间:2024/06/06 15:38
</pre><pre name="code" class="cpp">//整数划分问题,输出#include <stdio.h>int mark[256];int n;void DFS(int sum,int k,int prio)  {if(sum > n)return; if(sum == n){int i;for( i = 0; i < k-1; i++)printf("%d+",mark[i]);printf("%d\n",mark[i]);}else{for(int j = prio; j > 0; j--){mark[k]=j;sum+=j;DFS(sum,k+1,j);sum-=j;  //恢复现场}}}int main(){scanf("%d",&n);DFS(0,0,n-1);return 0;}

0 0