알고리즘/백준
백준 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 == 0) return 0;
if(n == 1) return 1;
return Fibonacci(n-1) + Fibonacci(n-2);
}
}
|
cs |
과정에서 생각한 그대로 풀었다
문제에서 주어진 범위인 0부터 20을 넣었을 때 (n-2)가 그 범위를 벗어나지 않기 때문에 성립할 수 있다
즉, 0과 1을 넣으면 해당 리턴값을 반환하고,
이후 범위값 중 가장 작은 2를 넣어도 2-2 = 0이므로 이미 if문으로 선언해둔 숫자를 더하면 되기 때문이다
직후 백지 복습
어렵지 않아 건너 뛰었다
반응형