재귀함수

배지원·2022년 9월 26일
0

JAVA

목록 보기
10/32

1. 재귀함수

  • 메서드의 내부에서 메서드 자신을 다시 호출하는 것이다.

  • 오직 재귀호출 뿐이면 무한로프에 빠지기 때문에 조건문이 항상 같이 사용되어야 한다

(1) 4! 구하는 예제

public class recursive {
    public static void main(String[] args) {
        int result = factorial(4);

        System.out.println(result);
    }

    static int factorial(int n){        // 재귀함수
        int result = 0;

        if(n == 1)
            return 1;           // 메소드 종료
        else
            result = n*factorial(n-1);      // 자기 자신 메소드 호출
        return result;
    }
}   

(2) x의 제곱을 구하는 예제

public class recursive3 {
    public static void main(String[] args) {
        int x = 2;						
        int n = 5;							// 제곱근 5승까지 구함
        long result = 0;

        for(int i =1; i<=n; i++){
            result += power(x,i);			
        }
        System.out.println(result);
    }

    static long power(int x, int n){
        if(n==1)							// 2의 1승일때 2 출력
            return x;
        return x*power(x,n-1);				// (2*2)+(2*2*2)+(2*2*2*2)+(2*2*2*2*2)
    }
}
profile
Web Developer

0개의 댓글