1217: 01字串 [水题]

Posted Veritas des Liberty

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\n");
    printf("00001\n");
    printf("00010\n");
    printf("00011\n");
    printf("00100\n");
    printf("00101\n");
    printf("00110\n");
    printf("00111\n");
    printf("01000\n");
    printf("01001\n");
    printf("01010\n");
    printf("01011\n");
    printf("01100\n");
    printf("01101\n");
    printf("01110\n");
    printf("01111\n");
    printf("10000\n");
    printf("10001\n");
    printf("10010\n");
    printf("10011\n");
    printf("10100\n");
    printf("10101\n");
    printf("10110\n");
    printf("10111\n");
    printf("11000\n");
    printf("11001\n");
    printf("11010\n");
    printf("11011\n");
    printf("11100\n");
    printf("11101\n");
    printf("11110\n");
    printf("11111\n");
    
    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

 

以上是关于1217: 01字串 [水题]的主要内容,如果未能解决你的问题,请参考以下文章

试题 基础练习 01字串--c++代码

试题 基础练习 01字串--c++代码

基础练习 01字串

CCC比赛T3

在片段java类中使用“this”和getLastSignedInAccount时出现错误[重复]

ACMNO.48 01字串