안녕하세요,이 코드를 비 재귀 적으로 사용하려면 어떻게해야합니까?루프를 사용하여 재귀 적으로 재귀 코드
public class test {
public static void main(String[] args) {
int[] array = new int[]{0, 1, 2,3};
int size = 2;
int[] tmp = new int[size];
//Arrays.fill(tmp, -1);
generateCombinations(array, 0, 0, tmp);
}
private static void generateCombinations(int[] array, int start, int depth, int[] tmp) {
if (depth == tmp.length) {
for (int j = 0; j < depth; j++) {
System.out.print(array[tmp[j]]);
} System.out.println();
return;
}
for (int i = start; i < array.length; i++) {
tmp[depth] = i;
generateCombinations(array, i + 1, depth + 1, tmp);
}
}
}
특정 조합으로 모든 조합을 생성합니다.
* 지금까지 시도한 것은 무엇입니까? BTW : 어떤 프로그래밍 언어에 대해 이야기하고 있습니까? 태그에 추가하십시오! –
왜 그것이 비 재귀 적 이길 원합니까? 재귀는 모든 조합을 검사하는 일반적인 방법 중 하나입니다. 귀하의 사례가'{0, 1, 2,3} '에 매우 특정한 경우 3 ~ 4 개의 루프가있는 방법이 있어야합니다. – nawfal
학교 과제물이기 때문에 – user2897452