嵌套循环变递归的问题怎么实现
for(int i=0; i<=1; ++i) {
        for(int j=0; j<=1; ++j) {
            for(int k=0; k<=1; ++k) {
                for(int a=0; a<=1; ++a) {
                    for(int b=0; b<=1; ++b) {
                        System.out.print(i+""+j+""+k+""+a+""+b);
                        System.out.println();
                    }
                }
            }
        }
    }

输出
00000

00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010..... 怎么把上述的循环变成递归,如果有20个循环嵌套呢,写20个循环岂不是很麻烦,有没有什么简洁的方法,用递归怎么实现?

2个回答

lz,这个不是输出数的二进制形式吗?

 package test_for;

public class Testfor {
     public static void main(String[] args){

         for(int i=0 ;i < 0x100;i++)
                System.out.println(Integer.toBinaryString(i));
        }
}

cxz_517
cxz_517 我知道啊,我是问这个可能用递归实现吗
大约 2 年之前 回复

public void add(int i){
if(i<100){
i = i+1;
System.out.println(Integer.toBinaryString(i));
add(i);
}
}
所谓的递归算法.. 对这个例子来说没啥意义。如果你不把它当成二进制数来看,而是仅仅当成这一整个循环来看 也就是多个if判断的嵌套 递归算法并不能给你用来算多种可能的结果集 (或者说不好用,何必这样纠结呢)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!