题目
思路
因为有n个数,每个数选或不选都是一种方案,而且要递增输出,那么就标记每个数是否备选,然后判断完n个数以后,就可以输出了
代码
#include<bits/stdc++.h>
using namespace std;
int n;
bool f[100] = {0};
void dfs(int t)
{
if (t > n)
{
for (int i = 1; i <= n; i ++ )
{
if (f[i]) cout << i << " ";
}
cout << endl;
return;
}
// 选
f[t] = 1;
dfs(t + 1);
// 不选
f[t] = 0;
dfs(t + 1);
}
int main()
{
cin >> n;
dfs(1);
return 0;
}
总结
好久不写了,居然连这些题都不会了