피보나치 수열은 0과 1로 시작하며 바로 앞의 두 피보나치수의 합이 다음 피보나치수가 된다.
즉,첫번째항과 두번째항의 합이 세번째 항이되고, 두번째항과 세번째항의 합이 네번째항이 된다.
수식으로 표현하면 f(n)=f(n-2)+f(n-1)인데 재귀함수로 풀면 중복계산되어 시간이 많이 걸리므로 반복을 이용해서 풀수 있다.
<답>
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in); //화면에 입력을 받는다.
int n=sc.nextInt();
int F1=0, F2=1, F3=1;
for(int i=2; i<=n; i++) {
F3=F1+F2;
F1=F2;
F2=F3;
}
System.out.println(F3);
}
}
'알고리즘 풀이 > 백준(BOJ)' 카테고리의 다른 글
[JAVA/백준15552] 빠른 A+B (0) | 2019.05.26 |
---|---|
[JAVA/백준2579] 계단오르기 - DP (0) | 2019.05.21 |
[JAVA/백준2577] 숫자의 개수 - 1차원 배열 (0) | 2019.05.20 |
[JAVA/백준1463] 1로 만들기 - DP (0) | 2019.05.19 |
[JAVA]백준알고리즘 11720/11721/15552/11721 정리 (0) | 2019.01.24 |