标签:递归
思路:共有n个数,枚举是否选择第i个数,如果选择,则输出时将他输出;否则,不输出。
AC代码:
#include<iostream>
using namespace std;
bool vis[16]={false};
int n;
void dfs(int u)
{
if(u>n)
{
for(int i=1;i<=n;++i)
{
if(vis[i]) cout<<i<<" ";
}
cout<<endl;
return;
}
vis[u]=false;
dfs(u+1);
vis[u]=true;
dfs(u+1);
}
int main()
{
cin>>n;
dfs(1);
return 0;
}