1217: 01字串 [水题]

1217: 01字串 [水题]

时间限制: 1 Sec 内存限制: 128 MB

提交: 116 解决: 93 统计

题目描述

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:

00000

00001

00010

00011

00100

请按从小到大的顺序输出这32种01串。

输入

本试题没有输入。 

输出

输出32行,按从小到大的顺序每行一个长度为5的01串。

来源

自己想的是暴力的解法,看了别人的博客后发现原来是有规律可循的

暴力解法

#include<stdio.h>

int main()
{
    printf("00000
");
    printf("00001
");
    printf("00010
");
    printf("00011
");
    printf("00100
");
    printf("00101
");
    printf("00110
");
    printf("00111
");
    printf("01000
");
    printf("01001
");
    printf("01010
");
    printf("01011
");
    printf("01100
");
    printf("01101
");
    printf("01110
");
    printf("01111
");
    printf("10000
");
    printf("10001
");
    printf("10010
");
    printf("10011
");
    printf("10100
");
    printf("10101
");
    printf("10110
");
    printf("10111
");
    printf("11000
");
    printf("11001
");
    printf("11010
");
    printf("11011
");
    printf("11100
");
    printf("11101
");
    printf("11110
");
    printf("11111
");
    
    return 0;
}
View Code

规律解法

#include <iostream>
using namespace std;
int main()
{
    for(int i=0;i<32;i++){
        cout<<i%32/16<<i%16/8<<i%8/4<<i%4/2<<i%2<<endl;
    }
    return 0;
}
View Code
永远渴望,大智若愚(stay hungry, stay foolish)
原文地址:https://www.cnblogs.com/h-hkai/p/8092289.html