试题 基础练习 01字串
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
1.解题思路
00000,00001,00010…这不就是二进制从小往上走,数字一直从0到31,把数字转换为二进制就好了
2.代码
#include <iostream>
using namespace std;
int main(){
for (int i = 0 ; i < 32 ; i ++){
int num[5] = {0, 0, 0, 0, 0};
int p = i;
int count = 0;
while(p){
num[count ++] = p % 2;
p /= 2;
}
for (int i = 4 ; i >= 0 ; i --){
cout << num[i];
}
cout << endl;
}
}