C语言一个数的所有和数分解的结果全部打印出来
程序员文章站
2022-07-13 23:45:34
...
这个的结果和java实现一个数的所有和数分解的结果全部打印出来
大同小异
#include<stdio.h>
int Terms[99];
int count;//count表示输出结果数
int N;//被分解的整数
void Search(int remain,int start,int num)
//remain剩余分解数,start表示分解起点数,分解得每一项应该大于等于start
//num用来记录已经分解得项数
{
int i;
if(0==remain)
{
count++;
printf("%d=%d",N,Terms[0]);
for(i=1;i<num;i++)
printf("+%d",Terms[i]);
printf(";");
printf("\n");
}
else
{
for(i=start;i<=remain;i++)
{
Terms[num]=i;
Search(remain-i,i,num+1);
}
}
}
int main()
{
scanf("%d",&N);
count=0;
Search(N,1,0);
return 0;
}
上一篇: iOS单例写法