[Baekjoon] 재귀 문제풀이 (피보나치수열 10870번, 팩토리얼 10872번)

반응형
728x90
반응형

문제 10870번 - 피보나치수열

https://www.acmicpc.net/problem/10870

 

10870번: 피보나치 수 5

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

 

 

 

재귀함수 풀이

import java.util.Scanner;

public class M10870 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        long A = sc.nextLong();
        System.out.println(factorial(A));
    }

    public static long factorial(long n) {
        if (n == 1) {
            return 1;
        } else if (n == 0) {
            return 0;
        }

        return factorial(n - 2) + factorial(n - 1);
    }
}

 

 

 

 

문제 10872번 - 팩토리얼

https://www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

 

 

재귀함수 풀이

import java.util.Scanner;

public class M10872 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        long A = sc.nextLong();
        System.out.println(factorial(A));
    }

    public static long factorial(long n) {
        if (n == 1) {
            return n;
        } else if (n == 0) {
            return 1;
        }

        return n * factorial(n - 1);
    }
}

 

반응형

Designed by JB FACTORY