백준 문제풀기/JAVA

[백준 2747 JAVA 자바] 피보나치 수

냉동피자 2023. 8. 8. 21:08

 

n번째 피보나치 수를 구하시오!

피보나치수는 중학교때 배운 

재밌는 수학중 기초죠??

 

 

F_n = F_n-1 + F_n-2

앞선 2개의 수로 다음 수를 구하는 수입니다

 

n번째 피보나치 수를 출력하기 위해선

몇번의 연산을 반복해야 되는지

 

for문을 어떻게 작성해야 하는지

생각해봅시다

 

코드입니다

 

import java.util.Scanner;

public class Main {
	
	static int[] arr = new int[46];	
	
	public static void main(String args[]){
		
		
		Scanner scan = new Scanner(System.in);

		int n = scan.nextInt();

		System.out.println(fibo(n));
	}
	static int fibo(int n) {
		arr[0] = 0;
		arr[1] = 1;
		
		for(int i=2; i<=n; i++) {
			arr[i] = arr[i-1] + arr[i-2];
		}
		return arr[n];
	}
}

 

fibo라는 함수를 이용했습니다

 

피보나치수의 0 1은 기본으로 주어져야지

1 2 3 5 8 ... 이어나갈 수 있죠

 

그래서 for문은 i 가 2 일때 부터 시작합니다