运行有问题,求助
查看原帖
运行有问题,求助
735164
pengqiushi楼主2023/7/21 15:41

代码如下:

#include<iostream>
using namespace std;
int a[13];
int n;
int jh(){ //判断加和是否 < or = or >n 
	int c;
	for(int i=1; i<=n; i++)
		c+=a[i];
	if(c<n)
		return 1;
	if(c==n)
		return 2;
	return 0;
}
void dfs(int p){
	if(jh()==2){
		for(int i=1; i<n; i++)
			printf("%d+",a[i]);
		cout<<a[n]<<endl;
		return;
	} 
	for(int i=a[p-1]; i<=n; i++){
		a[p]=i;
		if(jh())
			dfs(p+1);
		
	}
	return;
}
int main()
{
	
	cin>>n;
	for(int i=1; i<=n; i++){
		a[1]=i;
		dfs(2);
	}
	return 0;
}
2023/7/21 15:41
加载中...