方法1:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<vector>
#include <algorithm>
#include<iostream>
using namespace std;
void getResult(vector<int> a,int result)
{
sort(a.begin(),a.end());
int nLen = a.size();
for (int i = 0; i < nLen; i++)
{
if (a[i] == result)
cout<<a[i]<<endl;
for (int j = i + 1; j < nLen; j++)
{
if (a[i] + a[j] > result)
break;
if (a[i] + a[j] == result)
{
cout<<a[i]<<"+"<<a[j]<<endl;
}
else
{
for (int k = j + 1; k < nLen; k++)
{
if (a[i] + a[j] + a[k] > result)
break;
if (a[i] + a[j] + a[k] == result)
{
cout<< a[i]<< "+"<<a[j]<<"+"<<a[k]<<endl;
}
else
{
for (int l = k + 1; l < nLen; l++)
{
if (a[i] + a[j] + a[k] + a[l] > result)
break;
if (a[i] + a[j] + a[k] + a[l] == result)
cout<<a[i]<<"+"<< a[j]<< "+" <<a[k]<<"+"<<a[l]<<endl;
//else继续,有点复杂。
}
}
}
}
}
}
}
void main()
{
vector<int> a;
a.push_back(11);
a.push_back(2);
a.push_back(3);
a.push_back(1);
a.push_back(4);
a.push_back(10);
a.push_back(23);
a.push_back(7);
a.push_back(8);
a.push_back(9);
a.push_back(6);
a.push_back(12);
getResult(a,10);
system("pause");
}
#include<stdio.h>
#include<stdlib.h>
#in