这是怎么回事?
查看原帖
这是怎么回事?
376481
Carrot_Rui楼主2020/10/28 16:16

只输出了一部分

#include<iostream>
#include<cstring>
using namespace std;
int a[101],ans,x;
void searchh(int,int);//搜索 
void print(int);     //输出 
int main()
{
	for(int i=0;i<=100;i++)
	  a[i]=1;
	cin>>x;
	searchh(1,x);
	return 0;
}
void searchh(int m,int n){
	for(int i=a[m];i<=n;i++){
		if(i<x){
			a[m]=i;
			n-=i;
			if(n==0)
			    print(m);
			else
			   searchh(m+1,n);
			n+=i;//回溯 
		}
	}
}
void print(int m){
	ans++;
	cout<<x<<"=";
	for(int i=1;i<m;i++)
	  cout<<a[i]<<"+";
	cout<<a[m]<<endl;;
}

2020/10/28 16:16
加载中...