C++ 蓝桥杯题目讲解汇总(持续更新)
01字串
资源限制
时间限制:1.0 s 内存限制:256.0 MB
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
思路
- 憨憨一点,直接打表,全部写出来再输出
- 利用五层for循环,每一层输出一个0或1,共有 2 5 2^5 25种可能
- 利用已有的标准库函数 #include <bitset>
- 将十进制整数转换位二进制字符串,再根据长度判断其是否需要补0
- 可以使用函数 #include <stdlib.h> 中的 itoa() 函数
- 手动完成十进制整数到二进制整数的转换
代码
方案一:打表
32行输出一个一个输出吧
方案二:五层for循环
#include<iostream>
using namespace std;
int main(){
for (int i=0;i<2;i++)
for (int j=0;j<2;j++)
for