题目描述
对于长度为 5 位的一个 01 串,每一位都可能是 0 或 1,一共有 32 种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这 32 种 01 串。
输入格式
本试题没有输入。
输出格式
输出 32 行,按从小到大的顺序每行一个长度为 5 的 01 串。
提示/说明
直接输出不得分。
------------------------------------------------
其他题太简单也没啥心得,就第三题纠结了一会,一眼求0-31二进制表示方法,写的题少没想到什么好方法,一开始想用位运算写但不知道哪里写错了,一直输出错误,不过感觉用位运算也有点小题大做了
常规写法(核心代码)
int a[6]={0,0,0,0,0,0}; int j=5; while(i) { a[j--]=i%2; i/=2; }
位运算写法
int a[6]={0,0,0,0,0,0}; int j=5; while(i) { if(i&1) a[j--]=1; i>>=1; }