此为五位二进制运算的模拟
#include<cstdio>
using namespace std;
int s[5]={0};
int main(){
printf("00000\n");
for(int i=2;i<=32;i++){
for(int j=4;j>=0;j--){
if(s[j]==0) {
s[j]=1; break;
}
else if(j-1>=0&&s[j-1]==0){
s[j-1]=1;
s[j]=0;
break;
}
else if(j-2>=0&&s[j-2]==0){
s[j-2]=1;
s[j-1]=0;
s[j]=0;
break;
}
else if(j-3>=0&&s[j-3]==0){
s[j-3]=1;
s[j-2]=0;
s[j-1]=0;
s[j]=0;
break;
}
else if(j-4>=0&&s[j-4]==0){
s[j-4]=1;
s[j-3]=0;
s[j-2]=0;
s[j-1]=0;
s[j]=0;
break;
}
else break;
}
for(int k=0;k<5;k++){
printf("%d",s[k]);
}
printf("\n");
}
return 0;
}