알고리즘에 취약해서 공부를 하던중 블로그 포스팅을 하려고 합니다
DFS, BFS 재학습중 재귀함수부터 간단하게 포스팅을 합니다.
1부터 n까지 정수를 곱하는 팩토리얼 함수를 재귀함수로 작성한 코드입니다.
public static int factorial(int n ){
//Base case: n이 1 이하일 경우 1을 반환
if(n <=1) {
return 1;
}
//Recursive case : n-1에 대한 팩토리얼 값을 구하고 n과 곱셈
else{
return n+factorial(n-1);
}
}
위의 함수에서 Base case는 n이 1 이하일 경우이며, 이 경우 1반환.
Recursive case는 n-1 에 대한 팩토리얼 값을 구하고 n과 곱셈하는 부분입니다. 이러한 방법으로 재귀적으로 문제를 해결 가능합니다.