Hi.I write this program.but i should write it, too recursive.and Could you help me in this case. #include <iostream> using namespace std; int pow(int a,int b) { int p=1; for(int i=0;i<b;i++) p=p*a; return p; } int main() { int testcase=0; int n; long long *a; a=new long long[200]; cin>>testcase; int i=0; int d,b,c; while(i<testcase) { cin>>n; for(int j=0,k=1;j<n;j++,k++) { a[j]=k; } for(int p=0;p<=pow(2,n)-1;p++) { cout<<'{'; d=p; for(int m=0;m<n;m++) { c=pow(2,n-1); b=c&d; if(b!=0) cout<<a[m]<<' '; d=d<<1; } cout<<'}'; cout<<endl; } cout<<endl; i++; } return 0; }