본문 바로가기
Programming/Algorithm

백준 10872 자바 JAVA 문제 풀이 피보나치 수열 팩토리얼 사용

by 하하호호 2022. 2. 16.
반응형

 

 

 

 

 

백준 10872 문제는 팩토리얼 문제다. 주어진 자연수 N에 대해서 N!의 값을 출력하는 문제다. 해결방법은 재귀함수를 사용하는 것이다. Main 함수 밑에 새로운 재귀함수를 정의해서 팩토리얼 연산을 구현해 낸다.

 

재귀 함수의 조건은 2가지다. 첫번째 조건은 재귀함수에서 탈출하기 위한 조건이다. 아래에서는 주어진 매개변수가 1보다 작을 경우 탈출 조건으로 지정했다. 탈출 시 재귀함수가 반복되면서 할당된 resultFibo 변수를 반환한다. 두번째 조건은 재귀를 해주는 부분이다. return 부분에 주어진 매개변수 보다 1을 줄여나가면서 재귀함수를 반복해준다.

 

 

 

JAVA 코드

import java.util.Scanner;

public class Recursion {
    public static int resultFibo = 1;
    public static void main(String [] args)    {
        Scanner in = new Scanner(System.in);

        int X = in.nextInt();
        int result = fibo(X);
        System.out.println("Fibonazzi is  : " + result);
    }

    public static int fibo(int x){
        if(x < 1){
            return resultFibo;
        }
        resultFibo *= x;
        return fibo(x-1);
    }
}

 

 

반응형

댓글