蓝桥杯练习系统 基础练习:BASIC-2 01字串

蓝桥杯练习系统 基础练习:BASIC-2 01字串

题目

	题目信息
问题描述
 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。

输入格式
 本试题没有输入。

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

样例输出
00000
00001
00010
00011

思路

看见这个很明显就想到了递归,把这个想成一颗二叉树,中序遍历。可以保证先进入当前位为0的状态,并且其子状态
全部输出,再输出右树,右树恒比左树最后一个输出大1,归纳可证有效。

代码

import java.util.*;
public class Main{
	public static void main(String args[]){
	recursion(0,"");
	}
	public static void recursion(int pos,String str){
		if(pos==5){
		System.out.println(str);
		return ;
		}
		recursion(pos+1,str+"0");
		recursion(pos+1,str+"1");
	}
}

你可能感兴趣的:(递归)