资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
#include<iostream>
#include<string>
using namespace std;
string ten_to_two(int a){
string ans="";
while(a){
char b=a%2+'0';
a/=2;
ans=b+ans;
}
while(ans.length()!=5){
ans="0"+ans;
}
return ans;
}
int main(){
for(int i=0;i<32;i++){
cout<<ten_to_two(i)<<endl;
}
return 0;
}
思路:可以理解为0~31的十进制转二进制数的输出,注意每个二进制数都要有5个01字符