方法2:
//把壹個10進制的數字轉換成2進制的
string to2(int x,int len){
string ans;
while(x>0){
char ch=(x%2)+'0';
ans=ch+ans;
x/=2;
}
while(ans.size()<len){ans="0"+ans;}//讓返回的字符串的長度壹定要到len長度
return ans;
}
//計算2^x,就是2的x次方
int ci(int x){
if(x==0)return 1;
int ans(1);
for(int i = 1;i<=x;++i){
ans*=2;
}
return ans;
}
int main(){
//按照題目要求,其實就是輸出從(2^in-1)到0的二進制表示
int in;cin>>in;
for(int i = ci(in)-1;i>=0;--i){//從(2^in-1)到0,遍歷過去
cout<<to2(i,in)<<endl;//把i這個10進制的整數轉化為2進制,然後輸出
}
return 0;
}