二进制位串排列

来源:互联网 发布:steam汽车模拟软件 编辑:程序博客网 时间:2024/05/18 01:45
#include<iostream>#include<math.h>using namespace std;void Init(int* A,int k) {int i=0;for(i=0;i<k;i++){A[i]=0;}for(i=k-1;i>=0;i--){cout<<A[i];}cout<<endl;}void INCREMENT(int *A,int k){int i=0;while((i<k) && (A[i]==1)){A[i]=0;i+=1;}if(i<k){A[i]=1;}}void Print(int* A,int k) {int total=pow(2,k);for(int j=1;j<total;j++){INCREMENT(A,k);for(int i=k-1;i>=0;i--){cout<<A[i];}cout<<endl;}} void Delete(int *A){delete[]A;}int main(){int k;int *A;cin>>k;A=new int[k];Init(A,k);Print(A,k);Delete(A);return 0;}

1 0