自然数的拆分问题

问题描述:

自然数的拆分问题
【问题描述】 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复.
输入:待拆分的自然数n.
输出:若干数的加法式子.【样例输入】
7
【样例输出】
7=1+6
7=1+1+5
7=1+1+1+4
7=1+1+1+1+3
7=1+1+1+1+1+2
7=1+1+1+1+1+1+1
7=1+1+1+2+2
7=1+1+2+3
7=1+2+4
7=1+2+2+2
7=1+3+3
7=2+5
7=2+2+3
7=3+4

要什么语言的?
C的如下:
#include "stdio.h"
#define MAX 50
int p[MAX]; //每一次算出的组合存在这个数组里
int n;
int print(int num,int i)
{
int j;
int k;
int t;
if(num==0)
{
p[i]=0;
for(k=1;k