🥞 BE
home

10870_피보나치 수 5

담당자
완료 여부
Solved
요약
날짜
2024/06/22
태그
기초
구현
난이도
B2
출처
백준

코드

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] fibonacci = new int[N +1]; for (int i = 0; i < fibonacci.length; i++) { if (i == 0) fibonacci[0] = 0; else if (i == 1) fibonacci[1] = 1; else fibonacci[i] = fibonacci[i -1] + fibonacci[i -2]; } System.out.println(fibonacci[N]); } }
Java
복사
피보나치 수열의 점화식( Fn=Fn1+Fn2F_n=F_{n-1}+F_{n-2} )을 잘 기억하면 쉬운 문제인 것 같다. 위처럼 for문으로 정석적으로 풀어도 되고 아래처럼 점화식에 대입해서 깔끔하게 풀어도 될 것 같다.

다른 코드

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); System.out.println(fibonacci(N)); } static int fibonacci(int N) { if (N == 0) return 0; if (N == 1) return 1; return fibonacci(N -1) + fibonacci(N -2); } }
Java
복사