递归算法4

来源:互联网 发布:ffmpeg nginx rtsp hls 编辑:程序博客网 时间:2024/06/05 05:01
//和式分解#include <stdio.h>#define N 50void rd(int a[],int i,int k);int main() {int n,a[N];printf("请输入一个整数n(0<=n<=50):");scanf("%d",&n);a[0]=n;printf("和式分解结果:\n");rd(a,n,1);return 0;}void rd(int a[],int i,int k){int j,p;for(j=i;j>=1;j--){if(j<=a[k-1])//保证和式分解的值递减顺序 {a[k]=j;//将当前待分解的数存入a[k] if(j==i)//当前待分解数j等于i时 一个和式分解结束 {printf("%d=%d",a[0],a[1]);for(p=2;p<=k;p++){printf("+%d",a[p]);}printf("\n");}else{rd(a,i-j,k+1);//递归子函数注意for循环其中参数范围 }}}}





原创粉丝点击