#include <stdio.h>
#define MAXN 100

int sum[MAXN];

void comb(int s,int n, int p, int t){
    int j;
    if(p < n){
        for(j=0;j<=s;j++){
            sum[p] = j;
            t = t+j;
            comb(s,n,p+1,t);
            t = t-j;
        }

    }else{
        if(t==s){
            printf("%d",sum[0]);
            for(j=1; j < n ; j++){
                printf("+%d",sum[j]);
            }
            printf("\n");
        }
    }
}


int main(){
    int s,n;
    while(1){
        scanf("%d %d",&s,&n);
        if(s==0) break;
        comb(s,n,0,0);
    }
}

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to