재귀 함수 (Recursion Function)

알고리즘 (Algorithm) - 재귀 함수 (Recursion Function)

 개념

: 자신의 함수를 재참조하여 사용하는 방법


✐ Java 코드

✓ 재귀 함수 - 기본

1
2
3
4
public static Object func() {
    System.out.println("My Function()!");

    return func();
}
cs


✓ 1 ~ n 까지의 합

1
2
3
4
5
6
public static int sum(int n) {
    if(n = 0)
        return 0;
 
    return n + sum(n-1);
}
cs


✓ 팩토리얼 (Factorial)

1
2
3
4
5
6
public static int factorial(int n) {
    if(n == 0)
        return 1;
 
    return n * factorial(n-1);
}

cs


✓ 피보나치 수 (Fibonacci Numbers)

1
2
3
4
5
6
public static int fibonacci(int n) {
    if(n < 2)
        return n;
 
    return fibonacci(n-1+ fibonacci(n-2);
}
cs


✓ 유클리드 호제법 (Euclidean Algorithm) : 최대공약수

1
2
3
4
5
6
7
8
9
10
11
12
public static int euclid(int m, int n) {
    if(m < n) {
        int tmp = m;
        m = n;
        n = tmp;
    }
 
    if(n == 0)
        return m;
 
    return euclid(n, m%n);
}
cs




✔︎ 오타, 틀린 개념이 있을 경우 댓글 달아주세요~!

(확인 수정하도록 하겠습니다~^^)


✔︎ 추가할 개념이 있다면 댓글 부탁드립니다~!

(지식을 공유해주세요~^^)


댓글