(蓝桥杯)基础练习BASIC-2—— 01字串 C++

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36468195/article/details/88248513

问题描述

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

00000

00001

00010

00011

00100

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

输入格式

本试题没有输入。

输出格式

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

样例输出

00000
00001
00010
00011
<以下部分省略>

 

需要注意的是:由于需要输出固定长度(5位)的所有二进制数字,故而输出时编写为:"%05d\n"

#include<cstdio>
int binary(int x){
	int a=x;
	if(a==0||a==1) return a;
	else{
		return a%2+10*binary(a/2);
	}
}
int main(){
	for(int i=0;i<32;i++){
		printf("%05d\n",binary(i));
	}
	return 0;
}

展开阅读全文

没有更多推荐了,返回首页