对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
- 问题分析:5位二进制序列一共有32种,每次输出5个连续二进制码,然后换行,从右往左每个位置0和1变换的频率分别为2,4,8,16,32,所以来构造循环体很容易得到这种循环:
#include<iostream>
using namespace std;
int main() {
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
for(int k=0;k<2;k++)
for(int m=0;m<2;m++)
for(int n=0;n<2;n++)
cout<<i<<j<<k<<m<<n<<endl;
return 0;
}
- 结果: