动态更改嵌套的for循环数

我不知道这是否是一个愚蠢的问题,但是我需要在不使用递归的情况下动态更改for循环的数量。

例如,如果n = 3,则需要3个嵌套的for循环。

for(int i=0; i<size; i++){

for(int j=0; j<size-1; j++){

for(int k=0; k<size-2; k++){

//do something

}

}

}

如果n = 5:

for(int i=0; i<size; i++){

for(int j=0; j<size-1; j++){

for(int k=0; k<size-2; k++){

for(int l=0; l<size-3; l++){

for(int m=0; m<size-4; m++){

//do something

}

}

}

}

}

有没有什么方法可以做到这一点而无需递归?另一个问题:Java中多重调度的用途是什么?我正在尝试用一种方法编写代码,它应该在参数的不同情况下运行不同的事件。否,如果声明/三元经营者/案件。

注意:我只能使用一种方法(部分问题),并且不能使用递归。抱歉。

回答:

考虑一下您在此循环中运行了多少次。看起来像(size!) / (size - n)!

int numLoops = 1;

for (int i = 0; i < n; i++) {

numLoops*= (size - i);

}

for (int i = 0; i < numLoops; i++) {

//do something

}

以上是 动态更改嵌套的for循环数 的全部内容, 来源链接: utcz.com/qa/416501.html

回到顶部