java实现n位布尔变量的所有组合

递归方式实现:

	public void coding(int[] b,int n){
		if(n==0){
			b[n]=0; outBn(b);
			b[n]=1; outBn(b);
		}else{
			b[n]=0; outBn(b);
			b[n]=1; outBn(b);
		}
	}
	public void outBn(int[] b){
		for(int i=0; i<b.length; i++){
			System.out.println(b[i]);
		}
		System.out.println();
	}

另外一种方式:

int[] result = new int[5];  
for(int i = 0; i < 32; i++){
	result[0] = i % 2;  
	result[1] = i / 2 % 2;  
	result[2] = i / 4 % 2;  
	result[3] = i / 8 % 2;  
	result[4] = i / 16 % 2;  
	for(int ir : result){
		System.out.print(ir + " ");
	}
	System.out.println();
	System.out.println("------------------");
}

猜你喜欢

转载自hy2012.iteye.com/blog/2164911