整体思路就是n个数字,选中那么对应的二进制就是1,没选中就是零
#include<iostream>
using namespace std;
int a[30];
int main ()
{
int n,r;
cin>>n>>r;
int u=1<<n;
for(int i=0;i<u;i++)
{
int cnt=0;
if(__builtin_popcount(i)==r)
{
for(int j=0;j<n;j++) if((1<<j)&i)a[cnt++]=j+1;
for(int j=0;j<r;j++)cout<<a[j];cout<<endl;
}
}
}