да запросто
| Код | int min(std :: vector<int>& used) { int i = 1; for (int j = 0; j < used.size(); ++j) { if (used[j] == i) ++i; } return i; }
void recursive(int index, int sum, std :: vector<int>& vector, std :: vector<int>& used, int& number) { if (index == vector.size()) { if (sum == 0) return; used.push_back(sum); if (number == sum) number = min(used); return; } recursive(index + 1, sum + vector[index], used, number); recursive(index + 1, sum, used, number); }
void find(std :: vector<int>& vector, int& number) { number = 1; std :: vector<int> used; recursive(0, 0, vector, used, number); }
|
|