求助
查看原帖
求助
561529
Infinite_Energy楼主2022/7/13 13:35
#include<bits/stdc++.h>
using namespace std;
long long n,nn,save[1000]={1};
void print(long long i){
	for(int j=1;j<=i-1;j++){
		cout<<save[j]<<"+";
	}
	cout<<save[i]<<endl;
}
void dfs(long long i){
	for(int j=save[i-1];j<=n;j++){
		if(j==n){
			continue;
		}
		if(j<n){
			save[i]=j;
			n-=j;
			if(n==0){
				print(i);
			}else{
				dfs(i+1);
			}
			n+=j;
		}
	}
}
int main(){
	cin>>nn;
	n=nn;
	dfs(1);
	return 0;
}

无输出,求助

2022/7/13 13:35
加载中...