더 많이 실패하기

백준 10870번 파보나치 수 5 자바 Java 본문

알고리즘/백준

백준 10870번 파보나치 수 5 자바 Java

김발자~ 2022. 10. 3. 16:16
반응형

백준 10단계 2번 문제 - 10870 파보나치 수 5

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

 

 

 


10. 재귀 (2) 백준 10870번 문제 파보나치 수 5


문제


 

 

 

 


과정 생각해보기


 

맨처음 필요한 0과 1은 if문으로 따로 정의해놓고

문제에 나와있는 그대로 파보나치(n-1) + 파보나치(n-2)를 하면 될 것 같다

 

 

 


정답 인정 코드


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        
        int answer = Fibonacci(n);
        System.out.println(answer);
 
    }
 
    
    public static int Fibonacci(int n) {
        if(n == 0return 0;
        if(n == 1return 1;
        return Fibonacci(n-1+ Fibonacci(n-2);
    }
}
cs

 

과정에서 생각한 그대로 풀었다

문제에서 주어진 범위인 0부터 20을 넣었을 때 (n-2)가 그 범위를 벗어나지 않기 때문에 성립할 수 있다

즉, 0과 1을 넣으면 해당 리턴값을 반환하고,

이후 범위값 중 가장 작은 2를 넣어도 2-2 = 0이므로 이미 if문으로 선언해둔 숫자를 더하면 되기 때문이다

 

 

 


직후 백지 복습


 

어렵지 않아 건너 뛰었다

 

 

 


 

반응형
Comments