나는 재귀 함수에 대해 연구 해 왔으며 분명히 함수를 호출하고 반복 / 루프를 사용하지 않는 함수입니다 (그렇지 않으면 재귀 함수가 아닙니다).
그러나 예제를 위해 웹을 서핑하는 동안 (여덟 여왕 재귀 문제)이 기능을 발견했습니다.
private boolean placeQueen(int rows, int queens, int n) {
boolean result = false;
if (row < n) {
while ((queens[row] < n - 1) && !result) {
queens[row]++;
if (verify(row,queens,n)) {
ok = placeQueen(row + 1,queens,n);
}
}
if (!result) {
queens[row] = -1;
}
}else{
result = true;
}
return result;
}
가 while
포함 된 루프.
... 그래서 나는 지금 조금 길을 잃었다. 루프를 사용할 수 있습니까?
placeQueen
은 "place 8 queens"이고 더 쉬운 버전 placeQueen
은 "place 7 queens"(6 번 등)