题目描述珅泽教育的刘老师的班级有n名学生编号为1∼n现在要选出一些人数量不限组成一个队伍参加比赛一共有多少选择方法?要求输出每种方法选出的队伍。例如有4个人选出编号124这三个人组成一个队伍就是一种选择方法。我们将整个班的学生称作一个集合选出来的队伍就叫做子集。也可以一个人也不选这样队伍中一个人都没有我们把这种子集称作空集。我们把编号1∼n的学生看做整数1∼n。 写一个递归函数枚举1∼n中取若干个
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void subsets(vector<int>& nums, int start, vector<int>& subset) {
for (int i = start; i < nums.size(); i++) {
subset.push_back(nums[i]);
for (int j = 0; j < subset.size(); j++) {
cout << subset[j] << " ";
}
cout << endl;
subsets(nums, i + 1, subset);
subset.pop_back();
}
}
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
nums[i] = i + 1;
}
vector<int> subset;
subsets(nums, 0, subset);
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/iAzd 著作权归作者所有。请勿转载和采集!