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

题目集 整数分解为若干项之和

程序员文章站 2022-03-04 22:37:28
...

题目集 整数分解为若干项之和

#include<stdio.h>
int cnt=0;
int n,a[50];

void dfs(int number, int n, int location, int sum)
{//第一个参数为当前因子的大小。
    if(sum==n)
	{
        printf("%d=", n);
        
        for(int i=0;i<location; ++i)
            if(i==0)
            printf("%d",a[i]);
            else
            printf("+%d",a[i]);
            
        ++cnt;
        
        if(cnt%4!=0&&number!=n)
            printf(";");

        if(cnt%4==0&&cnt!=0)
            printf("\n");
    }
    
    if(sum>n) return;
    
    for(int i=number;i<=n;++i)
	{
        a[location]=i;
        dfs(i,n,location+1,sum+i);
    }
}

int main()
{
    scanf("%d",&n);
    dfs(1,n,0,0);
}
相关标签: 题目集 c语言