[java] 백준 10870번 피보나치 수 5알고리즘/백준2021. 8. 5. 23:35
Table of Contents
문제를 요약하자면 0번째 0, 1번째 1, 2번째부터는 0번째 값과 첫 번째 값의 합이라는 것이다.
F(2) = F(0) + F(1) -> 즉, F(n) = F(n-2) + F(n-1)
이 문제는 간단하게 재귀를 쓰면 된다.
import java.util.Scanner;
class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n_th= sc.nextInt();
System.out.println(pibo(n_th));
}
static int pibo(int n){
if(n<=1)
return n;
return pibo(n-2) + pibo(n-1);
}
}
n에 2가 들어왔을 경우 if 조건문에서 해당이 되지 않으니 건너뛰고 pibo(0) + pibo(1) = pibo(2) = 1이 되는 것이다.
pibo(0)과 pibo(1)의 값을 어떻게 알 수 있냐 한다면
if문의 조건을 보게되면 pibo(0)이 들어왔다면 1보다 작기 때문에 0이 반환이 되는 것이고
pibo(1)이 들어왔다면 1보다 작거나 같기 때문에 1을 반환하게 됨으로써
결국은 pibo(0) = 0, pibo(1) = 1 이 되는 것과 마찬가지이다.
n에 5가 들어왔을 경우를 공책에다 풀이를 해놓았다. 참조했으면 좋겠다. (글씨가 개발새발이다..)
'알고리즘 > 백준' 카테고리의 다른 글
[java] 백준 21866번 추첨을 통해 커피를 받자 (0) | 2021.08.07 |
---|---|
[java] 백준 21312번 홀짝 칵테일 (3) | 2021.08.06 |
[java] 백준 2721번 삼각수의 합 (0) | 2021.08.05 |
[java] 백준 2355번 시그마 (0) | 2021.08.04 |
[java] 백준 5586번 JOI와 IOI (2) | 2021.08.02 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊