알고리즘 풀이/백준(BOJ)

[JAVA] 백준알고리즘 2747번 풀이

닥스훈스 2019. 1. 21. 15:03



피보나치 수열은 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);

    }

}