>>666
#include<stdio.h>
#include <iostream.h>

void showres(int *a, int n){
 int i;
  for(i = 0; i < n; i++){
  printf( "%d" , a[i]);
  if(i + 1 < n) printf(" + ");
 }
 printf("\n");
}

void func(int k, int n, int c, int *a){
 int i;
 if(k + 1 == n){
  a[k] = c;
  showres(a, n);
 }else{
  for(i = 0; i <= c; i++){
   a[k] = i;
   func(k + 1, n, c - i, a);
  }
 }
 return;
}

int main(){
 int c, n;
 int *a;
 cout << "C = ";
 cin >> c;
 cout << "n = ";
 cin >> n;
 a = (int*)malloc(n * sizeof(int));
 func(0, n, c, a);
 free(a);
}