欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
}